1
2 package org.apache.shardingsphere.sql.parser.autogen;
3 import org.antlr.v4.runtime.atn.*;
4 import org.antlr.v4.runtime.dfa.DFA;
5 import org.antlr.v4.runtime.*;
6 import org.antlr.v4.runtime.misc.*;
7 import org.antlr.v4.runtime.tree.*;
8 import java.util.List;
9 import java.util.Iterator;
10 import java.util.ArrayList;
11
12 @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
13 public class SQLServerStatementParser extends Parser {
14 static { RuntimeMetaData.checkVersion("4.10.1", RuntimeMetaData.VERSION); }
15
16 protected static final DFA[] _decisionToDFA;
17 protected static final PredictionContextCache _sharedContextCache =
18 new PredictionContextCache();
19 public static final int
20 T__0=1, BLOCK_COMMENT=2, INLINE_COMMENT=3, AND_=4, OR_=5, NOT_=6, TILDE_=7,
21 VERTICAL_BAR_=8, AMPERSAND_=9, SIGNED_LEFT_SHIFT_=10, SIGNED_RIGHT_SHIFT_=11,
22 CARET_=12, MOD_=13, COLON_=14, PLUS_=15, MINUS_=16, ASTERISK_=17, SLASH_=18,
23 BACKSLASH_=19, DOT_=20, DOT_ASTERISK_=21, SAFE_EQ_=22, DEQ_=23, EQ_=24,
24 NEQ_=25, GT_=26, GTE_=27, LT_=28, LTE_=29, POUND_=30, LP_=31, RP_=32,
25 LBE_=33, RBE_=34, LBT_=35, RBT_=36, COMMA_=37, DQ_=38, SQ_=39, BQ_=40,
26 QUESTION_=41, AT_=42, SEMI_=43, DOLLAR_=44, WS=45, SELECT=46, INSERT=47,
27 UPDATE=48, DELETE=49, CREATE=50, ALTER=51, DROP=52, TRUNCATE=53, SCHEMA=54,
28 GRANT=55, REVOKE=56, ADD=57, SET=58, TABLE=59, COLUMN=60, COLUMNS=61,
29 INDEX=62, CONSTRAINT=63, PRIMARY=64, UNIQUE=65, FOREIGN=66, KEY=67, POSITION=68,
30 PRECISION=69, FUNCTION=70, TRIGGER=71, PROCEDURE=72, PROC=73, VIEW=74,
31 INTO=75, VALUES=76, WITH=77, UNION=78, DISTINCT=79, CASE=80, WHEN=81,
32 CAST=82, TRIM=83, SUBSTRING=84, FROM=85, NATURAL=86, JOIN=87, FULL=88,
33 INNER=89, OUTER=90, LEFT=91, RIGHT=92, CROSS=93, USING=94, WHERE=95, AS=96,
34 ON=97, OFF=98, IF=99, ELSE=100, THEN=101, FOR=102, TO=103, AND=104, OR=105,
35 IS=106, NOT=107, NULL=108, TRUE=109, FALSE=110, EXISTS=111, BETWEEN=112,
36 IN=113, ALL=114, ANY=115, LIKE=116, ORDER=117, GROUP=118, BY=119, ASC=120,
37 DESC=121, HAVING=122, LIMIT=123, OFFSET=124, BEGIN=125, COMMIT=126, ROLLBACK=127,
38 SAVEPOINT=128, BOOLEAN=129, DOUBLE=130, CHAR=131, CHARACTER=132, ARRAY=133,
39 INTERVAL=134, DATE=135, TIME=136, TIMESTAMP=137, LOCALTIME=138, LOCALTIMESTAMP=139,
40 YEAR=140, QUARTER=141, MONTH=142, WEEK=143, DAY=144, HOUR=145, MINUTE=146,
41 SECOND=147, MICROSECOND=148, MAX=149, MIN=150, SUM=151, COUNT=152, AVG=153,
42 DEFAULT=154, CURRENT=155, ENABLE=156, DISABLE=157, CALL=158, INSTANCE=159,
43 PRESERVE=160, DO=161, DEFINER=162, CURRENT_USER=163, SQL=164, CASCADED=165,
44 LOCAL=166, CLOSE=167, OPEN=168, NEXT=169, NAME=170, COLLATION=171, NAMES=172,
45 INTEGER=173, REAL=174, DECIMAL=175, TYPE=176, BIT=177, SMALLINT=178, INT=179,
46 TINYINT=180, NUMERIC=181, FLOAT=182, BIGINT=183, TEXT=184, VARCHAR=185,
47 PERCENT=186, TIES=187, EXCEPT=188, INTERSECT=189, USE=190, MERGE=191,
48 LOOP=192, EXPAND=193, VIEWS=194, FAST=195, FORCE=196, KEEP=197, PLAN=198,
49 OPTIMIZE=199, SIMPLE=200, FORCED=201, HINT=202, READ_ONLY=203, DATABASE=204,
50 DECLARE=205, CURSOR=206, OF=207, RETURNS=208, DATEPART=209, RETURN=210,
51 READONLY=211, AT=212, PASSWORD=213, WITHOUT=214, APPLY=215, KEEPIDENTITY=216,
52 KEEPDEFAULTS=217, HOLDLOCK=218, IGNORE_CONSTRAINTS=219, IGNORE_TRIGGERS=220,
53 NOLOCK=221, NOWAIT=222, PAGLOCK=223, READCOMMITTED=224, READCOMMITTEDLOCK=225,
54 READPAST=226, REPEATABLEREAD=227, ROWLOCK=228, TABLOCK=229, TABLOCKX=230,
55 UPDLOCK=231, XLOCK=232, JSON_OBJECT=233, JSON_ARRAY=234, FIRST_VALUE=235,
56 LAST_VALUE=236, APPROX_PERCENTILE_CONT=237, APPROX_PERCENTILE_DISC=238,
57 WITHIN=239, FOR_GENERATOR=240, BINARY=241, ESCAPE=242, HIDDEN_=243, MOD=244,
58 PARTITION=245, PARTITIONS=246, TOP=247, ROW=248, ROWS=249, UNKNOWN=250,
59 XOR=251, ALWAYS=252, CASCADE=253, CHECK=254, GENERATED=255, NO=256, OPTION=257,
60 PRIVILEGES=258, REFERENCES=259, USER=260, ROLE=261, START=262, TRANSACTION=263,
61 ACTION=264, ALGORITHM=265, AUTO=266, BLOCKERS=267, CLUSTERED=268, NONCLUSTERED=269,
62 COLLATE=270, COLUMNSTORE=271, CONTENT=272, CONVERT=273, YEARS=274, MONTHS=275,
63 WEEKS=276, DAYS=277, MINUTES=278, DENY=279, DETERMINISTIC=280, DISTRIBUTION=281,
64 DOCUMENT=282, DURABILITY=283, ENCRYPTED=284, END=285, FILESTREAM=286,
65 FILETABLE=287, FILLFACTOR=288, FOLLOWING=289, HASH=290, HEAP=291, IDENTITY=292,
66 INBOUND=293, OUTBOUND=294, UNBOUNDED=295, INFINITE=296, LOGIN=297, MASKED=298,
67 MAXDOP=299, MOVE=300, NOCHECK=301, NONE=302, OBJECT=303, ONLINE=304, OVER=305,
68 PAGE=306, PAUSED=307, PERIOD=308, PERSISTED=309, PRECEDING=310, RANDOMIZED=311,
69 RANGE=312, REBUILD=313, REPLICATE=314, REPLICATION=315, RESUMABLE=316,
70 ROWGUIDCOL=317, SAVE=318, SELF=319, SPARSE=320, SWITCH=321, TRAN=322,
71 TRANCOUNT=323, ZONE=324, EXECUTE=325, EXEC=326, SESSION=327, CONNECT=328,
72 CONNECTION=329, CATALOG=330, CONTROL=331, CONCAT=332, TAKE=333, OWNERSHIP=334,
73 DEFINITION=335, APPLICATION=336, ASSEMBLY=337, SYMMETRIC=338, ASYMMETRIC=339,
74 SERVER=340, RECEIVE=341, CHANGE=342, TRACE=343, TRACKING=344, RESOURCES=345,
75 SETTINGS=346, STATE=347, AVAILABILITY=348, CREDENTIAL=349, ENDPOINT=350,
76 EVENT=351, NOTIFICATION=352, LINKED=353, AUDIT=354, DDL=355, XML=356,
77 IMPERSONATE=357, SECURABLES=358, AUTHENTICATE=359, EXTERNAL=360, ACCESS=361,
78 ADMINISTER=362, BULK=363, OPERATIONS=364, UNSAFE=365, SHUTDOWN=366, SCOPED=367,
79 CONFIGURATION=368, DATASPACE=369, SERVICE=370, CERTIFICATE=371, CONTRACT=372,
80 ENCRYPTION=373, MASTER=374, DATA=375, SOURCE=376, FILE=377, FORMAT=378,
81 LIBRARY=379, FULLTEXT=380, MASK=381, UNMASK=382, MESSAGE=383, REMOTE=384,
82 BINDING=385, ROUTE=386, SECURITY=387, POLICY=388, AGGREGATE=389, QUEUE=390,
83 RULE=391, SYNONYM=392, COLLECTION=393, SCRIPT=394, KILL=395, BACKUP=396,
84 LOG=397, SHOWPLAN=398, SUBSCRIBE=399, QUERY=400, NOTIFICATIONS=401, CHECKPOINT=402,
85 SEQUENCE=403, ABORT_AFTER_WAIT=404, ALLOW_PAGE_LOCKS=405, ALLOW_ROW_LOCKS=406,
86 ALL_SPARSE_COLUMNS=407, BUCKET_COUNT=408, COLUMNSTORE_ARCHIVE=409, COLUMN_ENCRYPTION_KEY=410,
87 COLUMN_SET=411, COMPRESSION_DELAY=412, DATABASE_DEAULT=413, DATA_COMPRESSION=414,
88 DATA_CONSISTENCY_CHECK=415, ENCRYPTION_TYPE=416, SYSTEM_TIME=417, SYSTEM_VERSIONING=418,
89 TEXTIMAGE_ON=419, WAIT_AT_LOW_PRIORITY=420, STATISTICS_INCREMENTAL=421,
90 STATISTICS_NORECOMPUTE=422, ROUND_ROBIN=423, SCHEMA_AND_DATA=424, SCHEMA_ONLY=425,
91 SORT_IN_TEMPDB=426, IGNORE_DUP_KEY=427, IMPLICIT_TRANSACTIONS=428, MAX_DURATION=429,
92 MEMORY_OPTIMIZED=430, MIGRATION_STATE=431, PAD_INDEX=432, REMOTE_DATA_ARCHIVE=433,
93 FILESTREAM_ON=434, FILETABLE_COLLATE_FILENAME=435, FILETABLE_DIRECTORY=436,
94 FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME=437, FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME=438,
95 FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME=439, FILTER_PREDICATE=440, HISTORY_RETENTION_PERIOD=441,
96 HISTORY_TABLE=442, LOCK_ESCALATION=443, DROP_EXISTING=444, ROW_NUMBER=445,
97 FETCH=446, FIRST=447, ONLY=448, MONEY=449, SMALLMONEY=450, DATETIMEOFFSET=451,
98 DATETIME=452, DATETIME2=453, SMALLDATETIME=454, NCHAR=455, NVARCHAR=456,
99 NTEXT=457, VARBINARY=458, IMAGE=459, SQL_VARIANT=460, UNIQUEIDENTIFIER=461,
100 HIERARCHYID=462, GEOMETRY=463, GEOGRAPHY=464, OUTPUT=465, INSERTED=466,
101 DELETED=467, ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS=468, ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES=469,
102 DISABLE_BATCH_MODE_ADAPTIVE_JOINS=470, DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK=471,
103 DISABLE_DEFERRED_COMPILATION_TV=472, DISABLE_INTERLEAVED_EXECUTION_TVF=473,
104 DISABLE_OPTIMIZED_NESTED_LOOP=474, DISABLE_OPTIMIZER_ROWGOAL=475, DISABLE_PARAMETER_SNIFFING=476,
105 DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK=477, DISABLE_TSQL_SCALAR_UDF_INLINING=478,
106 DISALLOW_BATCH_MODE=479, ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS=480, ENABLE_QUERY_OPTIMIZER_HOTFIXES=481,
107 FORCE_DEFAULT_CARDINALITY_ESTIMATION=482, FORCE_LEGACY_CARDINALITY_ESTIMATION=483,
108 QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n=484, QUERY_PLAN_PROFILE=485, EXTERNALPUSHDOWN=486,
109 SCALEOUTEXECUTION=487, IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX=488, KEEPFIXED=489,
110 MAX_GRANT_PERCENT=490, MIN_GRANT_PERCENT=491, MAXRECURSION=492, NO_PERFORMANCE_SPOOL=493,
111 PARAMETERIZATION=494, QUERYTRACEON=495, RECOMPILE=496, ROBUST=497, OPTIMIZE_FOR_SEQUENTIAL_KEY=498,
112 DATA_DELETION=499, FILTER_COLUMN=500, RETENTION_PERIOD=501, CONTAINMENT=502,
113 PARTIAL=503, FILENAME=504, SIZE=505, MAXSIZE=506, FILEGROWTH=507, UNLIMITED=508,
114 KB=509, MB=510, GB=511, TB=512, CONTAINS=513, MEMORY_OPTIMIZED_DATA=514,
115 FILEGROUP=515, NON_TRANSACTED_ACCESS=516, DB_CHAINING=517, TRUSTWORTHY=518,
116 FORWARD_ONLY=519, SCROLL=520, STATIC=521, KEYSET=522, DYNAMIC=523, FAST_FORWARD=524,
117 SCROLL_LOCKS=525, OPTIMISTIC=526, TYPE_WARNING=527, SCHEMABINDING=528,
118 CALLER=529, INPUT=530, CALLED=531, VARYING=532, OUT=533, OWNER=534, ATOMIC=535,
119 LANGUAGE=536, LEVEL=537, ISOLATION=538, SNAPSHOT=539, REPEATABLE=540,
120 READ=541, SERIALIZABLE=542, NATIVE_COMPILATION=543, VIEW_METADATA=544,
121 AFTER=545, INSTEAD=546, APPEND=547, INCREMENT=548, CYCLE=549, CACHE=550,
122 MINVALUE=551, MAXVALUE=552, RESTART=553, LOB_COMPACTION=554, COMPRESS_ALL_ROW_GROUPS=555,
123 REORGANIZE=556, RESUME=557, PAUSE=558, ABORT=559, INCLUDE=560, DISTRIBUTED=561,
124 MARK=562, WORK=563, REMOVE=564, AUTOGROW_SINGLE_FILE=565, AUTOGROW_ALL_FILES=566,
125 READWRITE=567, READ_WRITE=568, MODIFY=569, ACCELERATED_DATABASE_RECOVERY=570,
126 PERSISTENT_VERSION_STORE_FILEGROUP=571, IMMEDIATE=572, NO_WAIT=573, TARGET_RECOVERY_TIME=574,
127 SECONDS=575, HONOR_BROKER_PRIORITY=576, ERROR_BROKER_CONVERSATIONS=577,
128 NEW_BROKER=578, DISABLE_BROKER=579, ENABLE_BROKER=580, MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT=581,
129 READ_COMMITTED_SNAPSHOT=582, ALLOW_SNAPSHOT_ISOLATION=583, RECURSIVE_TRIGGERS=584,
130 QUOTED_IDENTIFIER=585, NUMERIC_ROUNDABORT=586, CONCAT_NULL_YIELDS_NULL=587,
131 COMPATIBILITY_LEVEL=588, ARITHABORT=589, ANSI_WARNINGS=590, ANSI_PADDING=591,
132 ANSI_NULLS=592, ANSI_NULL_DEFAULT=593, PAGE_VERIFY=594, CHECKSUM=595,
133 TORN_PAGE_DETECTION=596, BULK_LOGGED=597, RECOVERY=598, TOTAL_EXECUTION_CPU_TIME_MS=599,
134 TOTAL_COMPILE_CPU_TIME_MS=600, STALE_CAPTURE_POLICY_THRESHOLD=601, EXECUTION_COUNT=602,
135 QUERY_CAPTURE_POLICY=603, WAIT_STATS_CAPTURE_MODE=604, MAX_PLANS_PER_QUERY=605,
136 QUERY_CAPTURE_MODE=606, SIZE_BASED_CLEANUP_MODE=607, INTERVAL_LENGTH_MINUTES=608,
137 MAX_STORAGE_SIZE_MB=609, DATA_FLUSH_INTERVAL_SECONDS=610, CLEANUP_POLICY=611,
138 CUSTOM=612, STALE_QUERY_THRESHOLD_DAYS=613, OPERATION_MODE=614, QUERY_STORE=615,
139 CURSOR_DEFAULT=616, GLOBAL=617, CURSOR_CLOSE_ON_COMMIT=618, HOURS=619,
140 CHANGE_RETENTION=620, AUTO_CLEANUP=621, CHANGE_TRACKING=622, AUTOMATIC_TUNING=623,
141 FORCE_LAST_GOOD_PLAN=624, AUTO_UPDATE_STATISTICS_ASYNC=625, AUTO_UPDATE_STATISTICS=626,
142 AUTO_SHRINK=627, AUTO_CREATE_STATISTICS=628, INCREMENTAL=629, AUTO_CLOSE=630,
143 DATA_RETENTION=631, TEMPORAL_HISTORY_RETENTION=632, EDITION=633, MIXED_PAGE_ALLOCATION=634,
144 DISABLED=635, ALLOWED=636, HADR=637, MULTI_USER=638, RESTRICTED_USER=639,
145 SINGLE_USER=640, OFFLINE=641, EMERGENCY=642, SUSPEND=643, DATE_CORRELATION_OPTIMIZATION=644,
146 ELASTIC_POOL=645, SERVICE_OBJECTIVE=646, DATABASE_NAME=647, ALLOW_CONNECTIONS=648,
147 GEO=649, NAMED=650, DATEFIRST=651, BACKUP_STORAGE_REDUNDANCY=652, FORCE_FAILOVER_ALLOW_DATA_LOSS=653,
148 SECONDARY=654, FAILOVER=655, DEFAULT_FULLTEXT_LANGUAGE=656, DEFAULT_LANGUAGE=657,
149 INLINE=658, NESTED_TRIGGERS=659, TRANSFORM_NOISE_WORDS=660, TWO_DIGIT_YEAR_CUTOFF=661,
150 PERSISTENT_LOG_BUFFER=662, DIRECTORY_NAME=663, DATEFORMAT=664, DELAYED_DURABILITY=665,
151 AUTHORIZATION=666, TRANSFER=667, EXPLAIN=668, WITH_RECOMMENDATIONS=669,
152 BATCH_SIZE=670, SETUSER=671, NORESET=672, DEFAULT_SCHEMA=673, ALLOW_ENCRYPTED_VALUE_MODIFICATIONS=674,
153 OLD_PASSWORD=675, PROVIDER=676, SID=677, UNCOMMITTED=678, COMMITTED=679,
154 STOPLIST=680, SEARCH=681, PROPERTY=682, LIST=683, SEND=684, MEMBER=685,
155 HASHED=686, MUST_CHANGE=687, DEFAULT_DATABASE=688, CHECK_EXPIRATION=689,
156 CHECK_POLICY=690, WINDOWS=691, UNLOCK=692, REVERT=693, COOKIE=694, BROWSE=695,
157 RAW=696, XMLDATA=697, XMLSCHEMA=698, ELEMENTS=699, XSINIL=700, ABSENT=701,
158 EXPLICIT=702, PATH=703, BASE64=704, ROOT=705, JSON=706, INCLUDE_NULL_VALUES=707,
159 WITHOUT_ARRAY_WRAPPER=708, XMLNAMESPACES=709, STATISTICS=710, FULLSCAN=711,
160 SAMPLE=712, RESAMPLE=713, NORECOMPUTE=714, AUTO_DROP=715, PERSIST_SAMPLE_PERCENT=716,
161 OPENJSON=717, OPENROWSET=718, TRY_CAST=719, TRY_CONVERT=720, IDENTIFIER_=721,
162 DELIMITED_IDENTIFIER_=722, STRING_=723, NUMBER_=724, INT_NUM_=725, FLOAT_NUM_=726,
163 DECIMAL_NUM_=727, HEX_DIGIT_=728, BIT_NUM_=729, NCHAR_TEXT=730, RESPECT=731,
164 IGNORE=732, NULLS=733;
165 public static final int
166 RULE_execute = 0, RULE_setTransaction = 1, RULE_isolationLevel = 2, RULE_setImplicitTransactions = 3,
167 RULE_implicitTransactionsValue = 4, RULE_beginTransaction = 5, RULE_beginDistributedTransaction = 6,
168 RULE_commit = 7, RULE_commitWork = 8, RULE_rollback = 9, RULE_rollbackWork = 10,
169 RULE_savepoint = 11, RULE_parameterMarker = 12, RULE_literals = 13, RULE_stringLiterals = 14,
170 RULE_numberLiterals = 15, RULE_dateTimeLiterals = 16, RULE_hexadecimalLiterals = 17,
171 RULE_bitValueLiterals = 18, RULE_booleanLiterals = 19, RULE_nullValueLiterals = 20,
172 RULE_identifier = 21, RULE_regularIdentifier = 22, RULE_delimitedIdentifier = 23,
173 RULE_unreservedWord = 24, RULE_databaseName = 25, RULE_schemaName = 26,
174 RULE_functionName = 27, RULE_procedureName = 28, RULE_viewName = 29, RULE_triggerName = 30,
175 RULE_sequenceName = 31, RULE_tableName = 32, RULE_queueName = 33, RULE_contractName = 34,
176 RULE_serviceName = 35, RULE_columnName = 36, RULE_scriptVariableName = 37,
177 RULE_owner = 38, RULE_name = 39, RULE_columnNames = 40, RULE_columnNamesWithSort = 41,
178 RULE_tableNames = 42, RULE_indexName = 43, RULE_constraintName = 44, RULE_collationName = 45,
179 RULE_alias = 46, RULE_dataTypeLength = 47, RULE_primaryKey = 48, RULE_expr = 49,
180 RULE_andOperator = 50, RULE_orOperator = 51, RULE_distinctFrom = 52, RULE_notOperator = 53,
181 RULE_booleanPrimary = 54, RULE_comparisonOperator = 55, RULE_predicate = 56,
182 RULE_bitExpr = 57, RULE_simpleExpr = 58, RULE_functionCall = 59, RULE_aggregationFunction = 60,
183 RULE_aggregationFunctionName = 61, RULE_distinct = 62, RULE_specialFunction = 63,
184 RULE_approxFunction = 64, RULE_conversionFunction = 65, RULE_castFunction = 66,
185 RULE_convertFunction = 67, RULE_jsonFunction = 68, RULE_jsonObjectFunction = 69,
186 RULE_jsonArrayFunction = 70, RULE_jsonKeyValue = 71, RULE_jsonNullClause = 72,
187 RULE_charFunction = 73, RULE_openJsonFunction = 74, RULE_openJsonWithclause = 75,
188 RULE_jsonColumnDefinition = 76, RULE_openRowSetFunction = 77, RULE_regularFunction = 78,
189 RULE_regularFunctionName = 79, RULE_caseExpression = 80, RULE_caseWhen = 81,
190 RULE_caseElse = 82, RULE_privateExprOfDb = 83, RULE_orderByClause = 84,
191 RULE_orderByItem = 85, RULE_dataType = 86, RULE_dataTypeName = 87, RULE_atTimeZoneExpr = 88,
192 RULE_castExpr = 89, RULE_convertExpr = 90, RULE_windowFunction = 91, RULE_nullTreatment = 92,
193 RULE_overClause = 93, RULE_partitionByClause = 94, RULE_rowRangeClause = 95,
194 RULE_windowFrameExtent = 96, RULE_windowFrameBetween = 97, RULE_windowFrameBound = 98,
195 RULE_windowFramePreceding = 99, RULE_windowFrameFollowing = 100, RULE_columnNameWithSort = 101,
196 RULE_indexOption = 102, RULE_compressionOption = 103, RULE_eqTime = 104,
197 RULE_eqOnOffOption = 105, RULE_eqKey = 106, RULE_eqOnOff = 107, RULE_onPartitionClause = 108,
198 RULE_partitionExpressions = 109, RULE_partitionExpression = 110, RULE_numberRange = 111,
199 RULE_lowPriorityLockWait = 112, RULE_onLowPriorLockWait = 113, RULE_ignoredIdentifier = 114,
200 RULE_ignoredIdentifiers = 115, RULE_matchNone = 116, RULE_variableName = 117,
201 RULE_executeAsClause = 118, RULE_transactionName = 119, RULE_transactionVariableName = 120,
202 RULE_savepointName = 121, RULE_savepointVariableName = 122, RULE_entityType = 123,
203 RULE_ifExists = 124, RULE_tableHintLimited = 125, RULE_call = 126, RULE_explain = 127,
204 RULE_explainableStatement = 128, RULE_createTable = 129, RULE_createTableClause = 130,
205 RULE_createIndex = 131, RULE_createDatabase = 132, RULE_createFunction = 133,
206 RULE_createProcedure = 134, RULE_createView = 135, RULE_createTrigger = 136,
207 RULE_createSequence = 137, RULE_createService = 138, RULE_createSchema = 139,
208 RULE_alterTable = 140, RULE_alterIndex = 141, RULE_alterDatabase = 142,
209 RULE_alterProcedure = 143, RULE_alterFunction = 144, RULE_alterView = 145,
210 RULE_alterTrigger = 146, RULE_alterSequence = 147, RULE_alterService = 148,
211 RULE_alterSchema = 149, RULE_dropTable = 150, RULE_dropIndex = 151, RULE_dropDatabase = 152,
212 RULE_dropFunction = 153, RULE_dropProcedure = 154, RULE_dropView = 155,
213 RULE_dropTrigger = 156, RULE_dropSequence = 157, RULE_dropService = 158,
214 RULE_dropSchema = 159, RULE_truncateTable = 160, RULE_updateStatistics = 161,
215 RULE_statisticsWithClause = 162, RULE_sampleOption = 163, RULE_statisticsOptions = 164,
216 RULE_statisticsOption = 165, RULE_fileTableClause = 166, RULE_createDefinitionClause = 167,
217 RULE_createTableDefinitions = 168, RULE_createTableDefinition = 169, RULE_columnDefinition = 170,
218 RULE_columnDefinitionOption = 171, RULE_encryptedOptions = 172, RULE_columnConstraint = 173,
219 RULE_computedColumnConstraint = 174, RULE_computedColumnForeignKeyConstraint = 175,
220 RULE_computedColumnForeignKeyOnAction = 176, RULE_primaryKeyConstraint = 177,
221 RULE_diskTablePrimaryKeyConstraintOption = 178, RULE_clusterOption = 179,
222 RULE_primaryKeyWithClause = 180, RULE_primaryKeyOnClause = 181, RULE_onSchemaColumn = 182,
223 RULE_onFileGroup = 183, RULE_onString = 184, RULE_memoryTablePrimaryKeyConstraintOption = 185,
224 RULE_withBucket = 186, RULE_columnForeignKeyConstraint = 187, RULE_foreignKeyOnAction = 188,
225 RULE_foreignKeyOn = 189, RULE_checkConstraint = 190, RULE_columnIndex = 191,
226 RULE_withIndexOption = 192, RULE_indexOnClause = 193, RULE_onDefault = 194,
227 RULE_fileStreamOn = 195, RULE_columnConstraints = 196, RULE_computedColumnDefinition = 197,
228 RULE_columnSetDefinition = 198, RULE_tableConstraint = 199, RULE_tablePrimaryConstraint = 200,
229 RULE_primaryKeyUnique = 201, RULE_diskTablePrimaryConstraintOption = 202,
230 RULE_memoryTablePrimaryConstraintOption = 203, RULE_hashWithBucket = 204,
231 RULE_tableForeignKeyConstraint = 205, RULE_tableIndex = 206, RULE_indexNameOption = 207,
232 RULE_indexOptions = 208, RULE_periodClause = 209, RULE_partitionScheme = 210,
233 RULE_fileGroup = 211, RULE_tableOptions = 212, RULE_tableOption = 213,
234 RULE_dataDelectionOption = 214, RULE_tableStretchOptions = 215, RULE_tableStretchOption = 216,
235 RULE_migrationState_ = 217, RULE_tableOperationOption = 218, RULE_distributionOption = 219,
236 RULE_dataWareHouseTableOption = 220, RULE_dataWareHousePartitionOption = 221,
237 RULE_createIndexSpecification = 222, RULE_alterDefinitionClause = 223,
238 RULE_addColumnSpecification = 224, RULE_modifyColumnSpecification = 225,
239 RULE_alterColumnOperation = 226, RULE_alterColumnAddOptions = 227, RULE_alterColumnAddOption = 228,
240 RULE_constraintForColumn = 229, RULE_generatedColumnNamesClause = 230,
241 RULE_generatedColumnNameClause = 231, RULE_generatedColumnName = 232,
242 RULE_alterDrop = 233, RULE_alterTableDropConstraint = 234, RULE_dropConstraintName = 235,
243 RULE_dropConstraintWithClause = 236, RULE_dropConstraintOption = 237,
244 RULE_onOffOption = 238, RULE_dropColumnSpecification = 239, RULE_dropIndexSpecification = 240,
245 RULE_alterCheckConstraint = 241, RULE_alterTableTrigger = 242, RULE_alterSwitch = 243,
246 RULE_alterSet = 244, RULE_setFileStreamClause = 245, RULE_setSystemVersionClause = 246,
247 RULE_alterSetOnClause = 247, RULE_dataConsistencyCheckClause = 248, RULE_historyRetentionPeriodClause = 249,
248 RULE_historyRetentionPeriod = 250, RULE_alterTableTableIndex = 251, RULE_indexWithName = 252,
249 RULE_indexNonClusterClause = 253, RULE_alterTableIndexOnClause = 254,
250 RULE_indexClusterClause = 255, RULE_alterTableOption = 256, RULE_onHistoryTableClause = 257,
251 RULE_createDatabaseClause = 258, RULE_fileDefinitionClause = 259, RULE_databaseOption = 260,
252 RULE_fileStreamOption = 261, RULE_fileSpec = 262, RULE_databaseFileSpecOption = 263,
253 RULE_databaseFileGroup = 264, RULE_databaseFileGroupContains = 265, RULE_databaseLogOns = 266,
254 RULE_declareVariable = 267, RULE_variable = 268, RULE_tableVariable = 269,
255 RULE_variTableTypeDefinition = 270, RULE_tableVariableClause = 271, RULE_variableTableColumnDefinition = 272,
256 RULE_variableTableColumnConstraint = 273, RULE_variableTableConstraint = 274,
257 RULE_setVariable = 275, RULE_setVariableClause = 276, RULE_cursorVariable = 277,
258 RULE_cursorClause = 278, RULE_compoundOperation = 279, RULE_funcParameters = 280,
259 RULE_funcReturns = 281, RULE_funcMutiReturn = 282, RULE_funcInlineReturn = 283,
260 RULE_funcScalarReturn = 284, RULE_tableTypeDefinition = 285, RULE_compoundStatement = 286,
261 RULE_functionOption = 287, RULE_validStatement = 288, RULE_procParameters = 289,
262 RULE_procParameter = 290, RULE_createOrAlterProcClause = 291, RULE_withCreateProcOption = 292,
263 RULE_procOption = 293, RULE_procAsClause = 294, RULE_procSetOption = 295,
264 RULE_createOrAlterViewClause = 296, RULE_viewAttribute = 297, RULE_withCommonTableExpr = 298,
265 RULE_commonTableExpr = 299, RULE_createTriggerClause = 300, RULE_dmlTriggerOption = 301,
266 RULE_methodSpecifier = 302, RULE_triggerTarget = 303, RULE_createOrAlterSequenceClause = 304,
267 RULE_createIndexClause = 305, RULE_filterPredicate = 306, RULE_conjunct = 307,
268 RULE_alterIndexClause = 308, RULE_relationalIndexOption = 309, RULE_partitionNumberRange = 310,
269 RULE_reorganizeOption = 311, RULE_setIndexOption = 312, RULE_resumableIndexOptions = 313,
270 RULE_alterDatabaseClause = 314, RULE_addSecondaryOption = 315, RULE_editionOptions = 316,
271 RULE_serviceObjective = 317, RULE_alterDatabaseOptionSpec = 318, RULE_fileAndFilegroupOptions = 319,
272 RULE_addOrModifyFilegroups = 320, RULE_filegroupUpdatabilityOption = 321,
273 RULE_addOrModifyFiles = 322, RULE_acceleratedDatabaseRecovery = 323, RULE_autoOption = 324,
274 RULE_automaticTuningOption = 325, RULE_changeTrackingOption = 326, RULE_changeTrackingOptionList = 327,
275 RULE_cursorOption = 328, RULE_externalAccessOption = 329, RULE_queryStoreOptions = 330,
276 RULE_queryStoreOptionList = 331, RULE_queryCapturePolicyOptionList = 332,
277 RULE_recoveryOption = 333, RULE_sqlOption = 334, RULE_snapshotOption = 335,
278 RULE_serviceBrokerOption = 336, RULE_targetRecoveryTimeOption = 337, RULE_termination = 338,
279 RULE_createServiceClause = 339, RULE_alterServiceClause = 340, RULE_alterServiceOptArg = 341,
280 RULE_schemaNameClause = 342, RULE_schemaElement = 343, RULE_createTableAsSelectClause = 344,
281 RULE_createTableAsSelect = 345, RULE_createRemoteTableAsSelect = 346,
282 RULE_withDistributionOption = 347, RULE_optionQueryHintClause = 348, RULE_insert = 349,
283 RULE_insertDefaultValue = 350, RULE_insertValuesClause = 351, RULE_insertSelectClause = 352,
284 RULE_insertExecClause = 353, RULE_withTableHint = 354, RULE_exec = 355,
285 RULE_update = 356, RULE_assignment = 357, RULE_setAssignmentsClause = 358,
286 RULE_assignmentValues = 359, RULE_assignmentValue = 360, RULE_delete = 361,
287 RULE_optionHint = 362, RULE_singleTableClause = 363, RULE_multipleTablesClause = 364,
288 RULE_multipleTableNames = 365, RULE_select = 366, RULE_aggregationClause = 367,
289 RULE_selectClause = 368, RULE_duplicateSpecification = 369, RULE_projections = 370,
290 RULE_projection = 371, RULE_top = 372, RULE_topNum = 373, RULE_unqualifiedShorthand = 374,
291 RULE_qualifiedShorthand = 375, RULE_intoClause = 376, RULE_fromClause = 377,
292 RULE_tableReferences = 378, RULE_tableReference = 379, RULE_tableFactor = 380,
293 RULE_joinedTable = 381, RULE_joinSpecification = 382, RULE_whereClause = 383,
294 RULE_groupByClause = 384, RULE_havingClause = 385, RULE_subquery = 386,
295 RULE_withClause = 387, RULE_cteClauseSet = 388, RULE_cteClause = 389,
296 RULE_outputClause = 390, RULE_outputWithColumns = 391, RULE_outputWithColumn = 392,
297 RULE_outputWithAaterisk = 393, RULE_outputTableName = 394, RULE_queryHint = 395,
298 RULE_useHitName = 396, RULE_forClause = 397, RULE_forXmlClause = 398,
299 RULE_commonDirectivesForXml = 399, RULE_forJsonClause = 400, RULE_selectWithClause = 401,
300 RULE_xmlNamespacesClause = 402, RULE_xmlNamespaceDeclarationItem = 403,
301 RULE_xmlNamespaceUri = 404, RULE_xmlNamespacePrefix = 405, RULE_xmlDefaultNamespaceDeclarationItem = 406,
302 RULE_grant = 407, RULE_grantClassPrivilegesClause = 408, RULE_grantClassTypePrivilegesClause = 409,
303 RULE_classPrivileges = 410, RULE_onClassClause = 411, RULE_classTypePrivileges = 412,
304 RULE_onClassTypeClause = 413, RULE_securable = 414, RULE_principal = 415,
305 RULE_revoke = 416, RULE_revokeClassPrivilegesClause = 417, RULE_revokeClassTypePrivilegesClause = 418,
306 RULE_deny = 419, RULE_denyClassPrivilegesClause = 420, RULE_denyClassTypePrivilegesClause = 421,
307 RULE_optionForClause = 422, RULE_privilegeType = 423, RULE_objectPermission = 424,
308 RULE_serverPermission = 425, RULE_serverPrincipalPermission = 426, RULE_databasePermission = 427,
309 RULE_databasePrincipalPermission = 428, RULE_databaseUserPermission = 429,
310 RULE_databaseRolePermission = 430, RULE_applicationRolePermission = 431,
311 RULE_databaseScopedCredentialPermission = 432, RULE_schemaPermission = 433,
312 RULE_searchPropertyListPermission = 434, RULE_serviceBrokerPermission = 435,
313 RULE_serviceBrokerContractsPermission = 436, RULE_serviceBrokerMessageTypesPermission = 437,
314 RULE_serviceBrokerRemoteServiceBindingsPermission = 438, RULE_serviceBrokerRoutesPermission = 439,
315 RULE_serviceBrokerServicesPermission = 440, RULE_endpointPermission = 441,
316 RULE_certificatePermission = 442, RULE_symmetricKeyPermission = 443, RULE_asymmetricKeyPermission = 444,
317 RULE_assemblyPermission = 445, RULE_availabilityGroupPermission = 446,
318 RULE_fullTextPermission = 447, RULE_fullTextCatalogPermission = 448, RULE_fullTextStoplistPermission = 449,
319 RULE_typePermission = 450, RULE_xmlSchemaCollectionPermission = 451, RULE_systemObjectPermission = 452,
320 RULE_class_ = 453, RULE_classItem = 454, RULE_classType = 455, RULE_roleClause = 456,
321 RULE_setUser = 457, RULE_createUser = 458, RULE_createUserLoginClause = 459,
322 RULE_createUserWindowsPrincipalClause = 460, RULE_createUserLoginWindowsPrincipalClause = 461,
323 RULE_createUserWithoutLoginClause = 462, RULE_optionsList = 463, RULE_limitedOptionsList = 464,
324 RULE_createUserFromExternalProviderClause = 465, RULE_createUserWithDefaultSchema = 466,
325 RULE_createUserWithAzureActiveDirectoryPrincipalClause = 467, RULE_windowsPrincipal = 468,
326 RULE_azureActiveDirectoryPrincipal = 469, RULE_userName = 470, RULE_ignoredNameIdentifier = 471,
327 RULE_dropUser = 472, RULE_alterUser = 473, RULE_setItem = 474, RULE_createRole = 475,
328 RULE_dropRole = 476, RULE_alterRole = 477, RULE_createLogin = 478, RULE_createLoginForSQLServerClause = 479,
329 RULE_createLoginForSQLServerOptionList = 480, RULE_createLoginForSQLServerOptionListClause = 481,
330 RULE_hashedPassword = 482, RULE_sid = 483, RULE_sources = 484, RULE_windowsOptions = 485,
331 RULE_createLoginForAzureSQLDatabaseClause = 486, RULE_createLoginForAzureSQLDatabaseOptionList = 487,
332 RULE_createLoginForAzureManagedInstanceClause = 488, RULE_azureManagedInstanceOptionList = 489,
333 RULE_createLoginForAzureSynapseAnalyticsClause = 490, RULE_createLoginForAzureSynapseAnalyticsOptionList = 491,
334 RULE_createLoginForAnalyticsPlatformSystemClause = 492, RULE_createLoginForAnalyticsPlatformSystemOptionList = 493,
335 RULE_createLoginForAnalyticsPlatformSystemOptionListClause = 494, RULE_dropLogin = 495,
336 RULE_alterLogin = 496, RULE_statusOptionClause = 497, RULE_setOptionClause = 498,
337 RULE_passwordOptionClause = 499, RULE_cryptographicCredentialsOptionClause = 500,
338 RULE_revert = 501;
339 private static String[] makeRuleNames() {
340 return new String[] {
341 "execute", "setTransaction", "isolationLevel", "setImplicitTransactions",
342 "implicitTransactionsValue", "beginTransaction", "beginDistributedTransaction",
343 "commit", "commitWork", "rollback", "rollbackWork", "savepoint", "parameterMarker",
344 "literals", "stringLiterals", "numberLiterals", "dateTimeLiterals", "hexadecimalLiterals",
345 "bitValueLiterals", "booleanLiterals", "nullValueLiterals", "identifier",
346 "regularIdentifier", "delimitedIdentifier", "unreservedWord", "databaseName",
347 "schemaName", "functionName", "procedureName", "viewName", "triggerName",
348 "sequenceName", "tableName", "queueName", "contractName", "serviceName",
349 "columnName", "scriptVariableName", "owner", "name", "columnNames", "columnNamesWithSort",
350 "tableNames", "indexName", "constraintName", "collationName", "alias",
351 "dataTypeLength", "primaryKey", "expr", "andOperator", "orOperator",
352 "distinctFrom", "notOperator", "booleanPrimary", "comparisonOperator",
353 "predicate", "bitExpr", "simpleExpr", "functionCall", "aggregationFunction",
354 "aggregationFunctionName", "distinct", "specialFunction", "approxFunction",
355 "conversionFunction", "castFunction", "convertFunction", "jsonFunction",
356 "jsonObjectFunction", "jsonArrayFunction", "jsonKeyValue", "jsonNullClause",
357 "charFunction", "openJsonFunction", "openJsonWithclause", "jsonColumnDefinition",
358 "openRowSetFunction", "regularFunction", "regularFunctionName", "caseExpression",
359 "caseWhen", "caseElse", "privateExprOfDb", "orderByClause", "orderByItem",
360 "dataType", "dataTypeName", "atTimeZoneExpr", "castExpr", "convertExpr",
361 "windowFunction", "nullTreatment", "overClause", "partitionByClause",
362 "rowRangeClause", "windowFrameExtent", "windowFrameBetween", "windowFrameBound",
363 "windowFramePreceding", "windowFrameFollowing", "columnNameWithSort",
364 "indexOption", "compressionOption", "eqTime", "eqOnOffOption", "eqKey",
365 "eqOnOff", "onPartitionClause", "partitionExpressions", "partitionExpression",
366 "numberRange", "lowPriorityLockWait", "onLowPriorLockWait", "ignoredIdentifier",
367 "ignoredIdentifiers", "matchNone", "variableName", "executeAsClause",
368 "transactionName", "transactionVariableName", "savepointName", "savepointVariableName",
369 "entityType", "ifExists", "tableHintLimited", "call", "explain", "explainableStatement",
370 "createTable", "createTableClause", "createIndex", "createDatabase",
371 "createFunction", "createProcedure", "createView", "createTrigger", "createSequence",
372 "createService", "createSchema", "alterTable", "alterIndex", "alterDatabase",
373 "alterProcedure", "alterFunction", "alterView", "alterTrigger", "alterSequence",
374 "alterService", "alterSchema", "dropTable", "dropIndex", "dropDatabase",
375 "dropFunction", "dropProcedure", "dropView", "dropTrigger", "dropSequence",
376 "dropService", "dropSchema", "truncateTable", "updateStatistics", "statisticsWithClause",
377 "sampleOption", "statisticsOptions", "statisticsOption", "fileTableClause",
378 "createDefinitionClause", "createTableDefinitions", "createTableDefinition",
379 "columnDefinition", "columnDefinitionOption", "encryptedOptions", "columnConstraint",
380 "computedColumnConstraint", "computedColumnForeignKeyConstraint", "computedColumnForeignKeyOnAction",
381 "primaryKeyConstraint", "diskTablePrimaryKeyConstraintOption", "clusterOption",
382 "primaryKeyWithClause", "primaryKeyOnClause", "onSchemaColumn", "onFileGroup",
383 "onString", "memoryTablePrimaryKeyConstraintOption", "withBucket", "columnForeignKeyConstraint",
384 "foreignKeyOnAction", "foreignKeyOn", "checkConstraint", "columnIndex",
385 "withIndexOption", "indexOnClause", "onDefault", "fileStreamOn", "columnConstraints",
386 "computedColumnDefinition", "columnSetDefinition", "tableConstraint",
387 "tablePrimaryConstraint", "primaryKeyUnique", "diskTablePrimaryConstraintOption",
388 "memoryTablePrimaryConstraintOption", "hashWithBucket", "tableForeignKeyConstraint",
389 "tableIndex", "indexNameOption", "indexOptions", "periodClause", "partitionScheme",
390 "fileGroup", "tableOptions", "tableOption", "dataDelectionOption", "tableStretchOptions",
391 "tableStretchOption", "migrationState_", "tableOperationOption", "distributionOption",
392 "dataWareHouseTableOption", "dataWareHousePartitionOption", "createIndexSpecification",
393 "alterDefinitionClause", "addColumnSpecification", "modifyColumnSpecification",
394 "alterColumnOperation", "alterColumnAddOptions", "alterColumnAddOption",
395 "constraintForColumn", "generatedColumnNamesClause", "generatedColumnNameClause",
396 "generatedColumnName", "alterDrop", "alterTableDropConstraint", "dropConstraintName",
397 "dropConstraintWithClause", "dropConstraintOption", "onOffOption", "dropColumnSpecification",
398 "dropIndexSpecification", "alterCheckConstraint", "alterTableTrigger",
399 "alterSwitch", "alterSet", "setFileStreamClause", "setSystemVersionClause",
400 "alterSetOnClause", "dataConsistencyCheckClause", "historyRetentionPeriodClause",
401 "historyRetentionPeriod", "alterTableTableIndex", "indexWithName", "indexNonClusterClause",
402 "alterTableIndexOnClause", "indexClusterClause", "alterTableOption",
403 "onHistoryTableClause", "createDatabaseClause", "fileDefinitionClause",
404 "databaseOption", "fileStreamOption", "fileSpec", "databaseFileSpecOption",
405 "databaseFileGroup", "databaseFileGroupContains", "databaseLogOns", "declareVariable",
406 "variable", "tableVariable", "variTableTypeDefinition", "tableVariableClause",
407 "variableTableColumnDefinition", "variableTableColumnConstraint", "variableTableConstraint",
408 "setVariable", "setVariableClause", "cursorVariable", "cursorClause",
409 "compoundOperation", "funcParameters", "funcReturns", "funcMutiReturn",
410 "funcInlineReturn", "funcScalarReturn", "tableTypeDefinition", "compoundStatement",
411 "functionOption", "validStatement", "procParameters", "procParameter",
412 "createOrAlterProcClause", "withCreateProcOption", "procOption", "procAsClause",
413 "procSetOption", "createOrAlterViewClause", "viewAttribute", "withCommonTableExpr",
414 "commonTableExpr", "createTriggerClause", "dmlTriggerOption", "methodSpecifier",
415 "triggerTarget", "createOrAlterSequenceClause", "createIndexClause",
416 "filterPredicate", "conjunct", "alterIndexClause", "relationalIndexOption",
417 "partitionNumberRange", "reorganizeOption", "setIndexOption", "resumableIndexOptions",
418 "alterDatabaseClause", "addSecondaryOption", "editionOptions", "serviceObjective",
419 "alterDatabaseOptionSpec", "fileAndFilegroupOptions", "addOrModifyFilegroups",
420 "filegroupUpdatabilityOption", "addOrModifyFiles", "acceleratedDatabaseRecovery",
421 "autoOption", "automaticTuningOption", "changeTrackingOption", "changeTrackingOptionList",
422 "cursorOption", "externalAccessOption", "queryStoreOptions", "queryStoreOptionList",
423 "queryCapturePolicyOptionList", "recoveryOption", "sqlOption", "snapshotOption",
424 "serviceBrokerOption", "targetRecoveryTimeOption", "termination", "createServiceClause",
425 "alterServiceClause", "alterServiceOptArg", "schemaNameClause", "schemaElement",
426 "createTableAsSelectClause", "createTableAsSelect", "createRemoteTableAsSelect",
427 "withDistributionOption", "optionQueryHintClause", "insert", "insertDefaultValue",
428 "insertValuesClause", "insertSelectClause", "insertExecClause", "withTableHint",
429 "exec", "update", "assignment", "setAssignmentsClause", "assignmentValues",
430 "assignmentValue", "delete", "optionHint", "singleTableClause", "multipleTablesClause",
431 "multipleTableNames", "select", "aggregationClause", "selectClause",
432 "duplicateSpecification", "projections", "projection", "top", "topNum",
433 "unqualifiedShorthand", "qualifiedShorthand", "intoClause", "fromClause",
434 "tableReferences", "tableReference", "tableFactor", "joinedTable", "joinSpecification",
435 "whereClause", "groupByClause", "havingClause", "subquery", "withClause",
436 "cteClauseSet", "cteClause", "outputClause", "outputWithColumns", "outputWithColumn",
437 "outputWithAaterisk", "outputTableName", "queryHint", "useHitName", "forClause",
438 "forXmlClause", "commonDirectivesForXml", "forJsonClause", "selectWithClause",
439 "xmlNamespacesClause", "xmlNamespaceDeclarationItem", "xmlNamespaceUri",
440 "xmlNamespacePrefix", "xmlDefaultNamespaceDeclarationItem", "grant",
441 "grantClassPrivilegesClause", "grantClassTypePrivilegesClause", "classPrivileges",
442 "onClassClause", "classTypePrivileges", "onClassTypeClause", "securable",
443 "principal", "revoke", "revokeClassPrivilegesClause", "revokeClassTypePrivilegesClause",
444 "deny", "denyClassPrivilegesClause", "denyClassTypePrivilegesClause",
445 "optionForClause", "privilegeType", "objectPermission", "serverPermission",
446 "serverPrincipalPermission", "databasePermission", "databasePrincipalPermission",
447 "databaseUserPermission", "databaseRolePermission", "applicationRolePermission",
448 "databaseScopedCredentialPermission", "schemaPermission", "searchPropertyListPermission",
449 "serviceBrokerPermission", "serviceBrokerContractsPermission", "serviceBrokerMessageTypesPermission",
450 "serviceBrokerRemoteServiceBindingsPermission", "serviceBrokerRoutesPermission",
451 "serviceBrokerServicesPermission", "endpointPermission", "certificatePermission",
452 "symmetricKeyPermission", "asymmetricKeyPermission", "assemblyPermission",
453 "availabilityGroupPermission", "fullTextPermission", "fullTextCatalogPermission",
454 "fullTextStoplistPermission", "typePermission", "xmlSchemaCollectionPermission",
455 "systemObjectPermission", "class_", "classItem", "classType", "roleClause",
456 "setUser", "createUser", "createUserLoginClause", "createUserWindowsPrincipalClause",
457 "createUserLoginWindowsPrincipalClause", "createUserWithoutLoginClause",
458 "optionsList", "limitedOptionsList", "createUserFromExternalProviderClause",
459 "createUserWithDefaultSchema", "createUserWithAzureActiveDirectoryPrincipalClause",
460 "windowsPrincipal", "azureActiveDirectoryPrincipal", "userName", "ignoredNameIdentifier",
461 "dropUser", "alterUser", "setItem", "createRole", "dropRole", "alterRole",
462 "createLogin", "createLoginForSQLServerClause", "createLoginForSQLServerOptionList",
463 "createLoginForSQLServerOptionListClause", "hashedPassword", "sid", "sources",
464 "windowsOptions", "createLoginForAzureSQLDatabaseClause", "createLoginForAzureSQLDatabaseOptionList",
465 "createLoginForAzureManagedInstanceClause", "azureManagedInstanceOptionList",
466 "createLoginForAzureSynapseAnalyticsClause", "createLoginForAzureSynapseAnalyticsOptionList",
467 "createLoginForAnalyticsPlatformSystemClause", "createLoginForAnalyticsPlatformSystemOptionList",
468 "createLoginForAnalyticsPlatformSystemOptionListClause", "dropLogin",
469 "alterLogin", "statusOptionClause", "setOptionClause", "passwordOptionClause",
470 "cryptographicCredentialsOptionClause", "revert"
471 };
472 }
473 public static final String[] ruleNames = makeRuleNames();
474
475 private static String[] makeLiteralNames() {
476 return new String[] {
477 null, "'Default does not match anything'", null, null, "'&&'", "'||'",
478 "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", "'%'", "':'", "'+'",
479 "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", "'=='", "'='", null,
480 "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", "'}'", "'['",
481 "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", "'$'", null,
482 null, null, null, null, null, null, null, null, null, null, null, null,
483 null, null, null, null, null, null, null, null, null, null, null, null,
484 null, null, null, null, null, null, null, null, null, null, null, null,
485 null, null, null, null, null, null, null, null, null, null, null, null,
486 null, null, null, null, null, null, null, null, null, null, null, null,
487 null, null, null, null, null, null, null, null, null, null, null, null,
488 null, null, null, null, null, null, null, null, null, null, null, null,
489 null, null, null, null, null, null, null, null, null, null, null, null,
490 null, null, null, null, null, null, null, null, null, null, null, null,
491 null, null, null, null, null, null, null, null, null, null, null, null,
492 null, null, null, null, null, null, null, null, null, null, null, null,
493 null, null, null, null, null, null, null, null, null, null, null, null,
494 null, null, null, null, null, null, null, null, null, null, null, null,
495 null, null, null, null, null, null, null, null, null, null, null, null,
496 null, null, null, null, null, null, null, null, null, null, null, null,
497 null, null, null, null, null, null, null, null, null, null, null, null,
498 null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'"
499 };
500 }
501 private static final String[] _LITERAL_NAMES = makeLiteralNames();
502 private static String[] makeSymbolicNames() {
503 return new String[] {
504 null, null, "BLOCK_COMMENT", "INLINE_COMMENT", "AND_", "OR_", "NOT_",
505 "TILDE_", "VERTICAL_BAR_", "AMPERSAND_", "SIGNED_LEFT_SHIFT_", "SIGNED_RIGHT_SHIFT_",
506 "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", "SLASH_",
507 "BACKSLASH_", "DOT_", "DOT_ASTERISK_", "SAFE_EQ_", "DEQ_", "EQ_", "NEQ_",
508 "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_",
509 "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_",
510 "DOLLAR_", "WS", "SELECT", "INSERT", "UPDATE", "DELETE", "CREATE", "ALTER",
511 "DROP", "TRUNCATE", "SCHEMA", "GRANT", "REVOKE", "ADD", "SET", "TABLE",
512 "COLUMN", "COLUMNS", "INDEX", "CONSTRAINT", "PRIMARY", "UNIQUE", "FOREIGN",
513 "KEY", "POSITION", "PRECISION", "FUNCTION", "TRIGGER", "PROCEDURE", "PROC",
514 "VIEW", "INTO", "VALUES", "WITH", "UNION", "DISTINCT", "CASE", "WHEN",
515 "CAST", "TRIM", "SUBSTRING", "FROM", "NATURAL", "JOIN", "FULL", "INNER",
516 "OUTER", "LEFT", "RIGHT", "CROSS", "USING", "WHERE", "AS", "ON", "OFF",
517 "IF", "ELSE", "THEN", "FOR", "TO", "AND", "OR", "IS", "NOT", "NULL",
518 "TRUE", "FALSE", "EXISTS", "BETWEEN", "IN", "ALL", "ANY", "LIKE", "ORDER",
519 "GROUP", "BY", "ASC", "DESC", "HAVING", "LIMIT", "OFFSET", "BEGIN", "COMMIT",
520 "ROLLBACK", "SAVEPOINT", "BOOLEAN", "DOUBLE", "CHAR", "CHARACTER", "ARRAY",
521 "INTERVAL", "DATE", "TIME", "TIMESTAMP", "LOCALTIME", "LOCALTIMESTAMP",
522 "YEAR", "QUARTER", "MONTH", "WEEK", "DAY", "HOUR", "MINUTE", "SECOND",
523 "MICROSECOND", "MAX", "MIN", "SUM", "COUNT", "AVG", "DEFAULT", "CURRENT",
524 "ENABLE", "DISABLE", "CALL", "INSTANCE", "PRESERVE", "DO", "DEFINER",
525 "CURRENT_USER", "SQL", "CASCADED", "LOCAL", "CLOSE", "OPEN", "NEXT",
526 "NAME", "COLLATION", "NAMES", "INTEGER", "REAL", "DECIMAL", "TYPE", "BIT",
527 "SMALLINT", "INT", "TINYINT", "NUMERIC", "FLOAT", "BIGINT", "TEXT", "VARCHAR",
528 "PERCENT", "TIES", "EXCEPT", "INTERSECT", "USE", "MERGE", "LOOP", "EXPAND",
529 "VIEWS", "FAST", "FORCE", "KEEP", "PLAN", "OPTIMIZE", "SIMPLE", "FORCED",
530 "HINT", "READ_ONLY", "DATABASE", "DECLARE", "CURSOR", "OF", "RETURNS",
531 "DATEPART", "RETURN", "READONLY", "AT", "PASSWORD", "WITHOUT", "APPLY",
532 "KEEPIDENTITY", "KEEPDEFAULTS", "HOLDLOCK", "IGNORE_CONSTRAINTS", "IGNORE_TRIGGERS",
533 "NOLOCK", "NOWAIT", "PAGLOCK", "READCOMMITTED", "READCOMMITTEDLOCK",
534 "READPAST", "REPEATABLEREAD", "ROWLOCK", "TABLOCK", "TABLOCKX", "UPDLOCK",
535 "XLOCK", "JSON_OBJECT", "JSON_ARRAY", "FIRST_VALUE", "LAST_VALUE", "APPROX_PERCENTILE_CONT",
536 "APPROX_PERCENTILE_DISC", "WITHIN", "FOR_GENERATOR", "BINARY", "ESCAPE",
537 "HIDDEN_", "MOD", "PARTITION", "PARTITIONS", "TOP", "ROW", "ROWS", "UNKNOWN",
538 "XOR", "ALWAYS", "CASCADE", "CHECK", "GENERATED", "NO", "OPTION", "PRIVILEGES",
539 "REFERENCES", "USER", "ROLE", "START", "TRANSACTION", "ACTION", "ALGORITHM",
540 "AUTO", "BLOCKERS", "CLUSTERED", "NONCLUSTERED", "COLLATE", "COLUMNSTORE",
541 "CONTENT", "CONVERT", "YEARS", "MONTHS", "WEEKS", "DAYS", "MINUTES",
542 "DENY", "DETERMINISTIC", "DISTRIBUTION", "DOCUMENT", "DURABILITY", "ENCRYPTED",
543 "END", "FILESTREAM", "FILETABLE", "FILLFACTOR", "FOLLOWING", "HASH",
544 "HEAP", "IDENTITY", "INBOUND", "OUTBOUND", "UNBOUNDED", "INFINITE", "LOGIN",
545 "MASKED", "MAXDOP", "MOVE", "NOCHECK", "NONE", "OBJECT", "ONLINE", "OVER",
546 "PAGE", "PAUSED", "PERIOD", "PERSISTED", "PRECEDING", "RANDOMIZED", "RANGE",
547 "REBUILD", "REPLICATE", "REPLICATION", "RESUMABLE", "ROWGUIDCOL", "SAVE",
548 "SELF", "SPARSE", "SWITCH", "TRAN", "TRANCOUNT", "ZONE", "EXECUTE", "EXEC",
549 "SESSION", "CONNECT", "CONNECTION", "CATALOG", "CONTROL", "CONCAT", "TAKE",
550 "OWNERSHIP", "DEFINITION", "APPLICATION", "ASSEMBLY", "SYMMETRIC", "ASYMMETRIC",
551 "SERVER", "RECEIVE", "CHANGE", "TRACE", "TRACKING", "RESOURCES", "SETTINGS",
552 "STATE", "AVAILABILITY", "CREDENTIAL", "ENDPOINT", "EVENT", "NOTIFICATION",
553 "LINKED", "AUDIT", "DDL", "XML", "IMPERSONATE", "SECURABLES", "AUTHENTICATE",
554 "EXTERNAL", "ACCESS", "ADMINISTER", "BULK", "OPERATIONS", "UNSAFE", "SHUTDOWN",
555 "SCOPED", "CONFIGURATION", "DATASPACE", "SERVICE", "CERTIFICATE", "CONTRACT",
556 "ENCRYPTION", "MASTER", "DATA", "SOURCE", "FILE", "FORMAT", "LIBRARY",
557 "FULLTEXT", "MASK", "UNMASK", "MESSAGE", "REMOTE", "BINDING", "ROUTE",
558 "SECURITY", "POLICY", "AGGREGATE", "QUEUE", "RULE", "SYNONYM", "COLLECTION",
559 "SCRIPT", "KILL", "BACKUP", "LOG", "SHOWPLAN", "SUBSCRIBE", "QUERY",
560 "NOTIFICATIONS", "CHECKPOINT", "SEQUENCE", "ABORT_AFTER_WAIT", "ALLOW_PAGE_LOCKS",
561 "ALLOW_ROW_LOCKS", "ALL_SPARSE_COLUMNS", "BUCKET_COUNT", "COLUMNSTORE_ARCHIVE",
562 "COLUMN_ENCRYPTION_KEY", "COLUMN_SET", "COMPRESSION_DELAY", "DATABASE_DEAULT",
563 "DATA_COMPRESSION", "DATA_CONSISTENCY_CHECK", "ENCRYPTION_TYPE", "SYSTEM_TIME",
564 "SYSTEM_VERSIONING", "TEXTIMAGE_ON", "WAIT_AT_LOW_PRIORITY", "STATISTICS_INCREMENTAL",
565 "STATISTICS_NORECOMPUTE", "ROUND_ROBIN", "SCHEMA_AND_DATA", "SCHEMA_ONLY",
566 "SORT_IN_TEMPDB", "IGNORE_DUP_KEY", "IMPLICIT_TRANSACTIONS", "MAX_DURATION",
567 "MEMORY_OPTIMIZED", "MIGRATION_STATE", "PAD_INDEX", "REMOTE_DATA_ARCHIVE",
568 "FILESTREAM_ON", "FILETABLE_COLLATE_FILENAME", "FILETABLE_DIRECTORY",
569 "FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME", "FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME",
570 "FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME", "FILTER_PREDICATE", "HISTORY_RETENTION_PERIOD",
571 "HISTORY_TABLE", "LOCK_ESCALATION", "DROP_EXISTING", "ROW_NUMBER", "FETCH",
572 "FIRST", "ONLY", "MONEY", "SMALLMONEY", "DATETIMEOFFSET", "DATETIME",
573 "DATETIME2", "SMALLDATETIME", "NCHAR", "NVARCHAR", "NTEXT", "VARBINARY",
574 "IMAGE", "SQL_VARIANT", "UNIQUEIDENTIFIER", "HIERARCHYID", "GEOMETRY",
575 "GEOGRAPHY", "OUTPUT", "INSERTED", "DELETED", "ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS",
576 "ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES", "DISABLE_BATCH_MODE_ADAPTIVE_JOINS",
577 "DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK", "DISABLE_DEFERRED_COMPILATION_TV",
578 "DISABLE_INTERLEAVED_EXECUTION_TVF", "DISABLE_OPTIMIZED_NESTED_LOOP",
579 "DISABLE_OPTIMIZER_ROWGOAL", "DISABLE_PARAMETER_SNIFFING", "DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK",
580 "DISABLE_TSQL_SCALAR_UDF_INLINING", "DISALLOW_BATCH_MODE", "ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS",
581 "ENABLE_QUERY_OPTIMIZER_HOTFIXES", "FORCE_DEFAULT_CARDINALITY_ESTIMATION",
582 "FORCE_LEGACY_CARDINALITY_ESTIMATION", "QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n",
583 "QUERY_PLAN_PROFILE", "EXTERNALPUSHDOWN", "SCALEOUTEXECUTION", "IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX",
584 "KEEPFIXED", "MAX_GRANT_PERCENT", "MIN_GRANT_PERCENT", "MAXRECURSION",
585 "NO_PERFORMANCE_SPOOL", "PARAMETERIZATION", "QUERYTRACEON", "RECOMPILE",
586 "ROBUST", "OPTIMIZE_FOR_SEQUENTIAL_KEY", "DATA_DELETION", "FILTER_COLUMN",
587 "RETENTION_PERIOD", "CONTAINMENT", "PARTIAL", "FILENAME", "SIZE", "MAXSIZE",
588 "FILEGROWTH", "UNLIMITED", "KB", "MB", "GB", "TB", "CONTAINS", "MEMORY_OPTIMIZED_DATA",
589 "FILEGROUP", "NON_TRANSACTED_ACCESS", "DB_CHAINING", "TRUSTWORTHY", "FORWARD_ONLY",
590 "SCROLL", "STATIC", "KEYSET", "DYNAMIC", "FAST_FORWARD", "SCROLL_LOCKS",
591 "OPTIMISTIC", "TYPE_WARNING", "SCHEMABINDING", "CALLER", "INPUT", "CALLED",
592 "VARYING", "OUT", "OWNER", "ATOMIC", "LANGUAGE", "LEVEL", "ISOLATION",
593 "SNAPSHOT", "REPEATABLE", "READ", "SERIALIZABLE", "NATIVE_COMPILATION",
594 "VIEW_METADATA", "AFTER", "INSTEAD", "APPEND", "INCREMENT", "CYCLE",
595 "CACHE", "MINVALUE", "MAXVALUE", "RESTART", "LOB_COMPACTION", "COMPRESS_ALL_ROW_GROUPS",
596 "REORGANIZE", "RESUME", "PAUSE", "ABORT", "INCLUDE", "DISTRIBUTED", "MARK",
597 "WORK", "REMOVE", "AUTOGROW_SINGLE_FILE", "AUTOGROW_ALL_FILES", "READWRITE",
598 "READ_WRITE", "MODIFY", "ACCELERATED_DATABASE_RECOVERY", "PERSISTENT_VERSION_STORE_FILEGROUP",
599 "IMMEDIATE", "NO_WAIT", "TARGET_RECOVERY_TIME", "SECONDS", "HONOR_BROKER_PRIORITY",
600 "ERROR_BROKER_CONVERSATIONS", "NEW_BROKER", "DISABLE_BROKER", "ENABLE_BROKER",
601 "MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT", "READ_COMMITTED_SNAPSHOT", "ALLOW_SNAPSHOT_ISOLATION",
602 "RECURSIVE_TRIGGERS", "QUOTED_IDENTIFIER", "NUMERIC_ROUNDABORT", "CONCAT_NULL_YIELDS_NULL",
603 "COMPATIBILITY_LEVEL", "ARITHABORT", "ANSI_WARNINGS", "ANSI_PADDING",
604 "ANSI_NULLS", "ANSI_NULL_DEFAULT", "PAGE_VERIFY", "CHECKSUM", "TORN_PAGE_DETECTION",
605 "BULK_LOGGED", "RECOVERY", "TOTAL_EXECUTION_CPU_TIME_MS", "TOTAL_COMPILE_CPU_TIME_MS",
606 "STALE_CAPTURE_POLICY_THRESHOLD", "EXECUTION_COUNT", "QUERY_CAPTURE_POLICY",
607 "WAIT_STATS_CAPTURE_MODE", "MAX_PLANS_PER_QUERY", "QUERY_CAPTURE_MODE",
608 "SIZE_BASED_CLEANUP_MODE", "INTERVAL_LENGTH_MINUTES", "MAX_STORAGE_SIZE_MB",
609 "DATA_FLUSH_INTERVAL_SECONDS", "CLEANUP_POLICY", "CUSTOM", "STALE_QUERY_THRESHOLD_DAYS",
610 "OPERATION_MODE", "QUERY_STORE", "CURSOR_DEFAULT", "GLOBAL", "CURSOR_CLOSE_ON_COMMIT",
611 "HOURS", "CHANGE_RETENTION", "AUTO_CLEANUP", "CHANGE_TRACKING", "AUTOMATIC_TUNING",
612 "FORCE_LAST_GOOD_PLAN", "AUTO_UPDATE_STATISTICS_ASYNC", "AUTO_UPDATE_STATISTICS",
613 "AUTO_SHRINK", "AUTO_CREATE_STATISTICS", "INCREMENTAL", "AUTO_CLOSE",
614 "DATA_RETENTION", "TEMPORAL_HISTORY_RETENTION", "EDITION", "MIXED_PAGE_ALLOCATION",
615 "DISABLED", "ALLOWED", "HADR", "MULTI_USER", "RESTRICTED_USER", "SINGLE_USER",
616 "OFFLINE", "EMERGENCY", "SUSPEND", "DATE_CORRELATION_OPTIMIZATION", "ELASTIC_POOL",
617 "SERVICE_OBJECTIVE", "DATABASE_NAME", "ALLOW_CONNECTIONS", "GEO", "NAMED",
618 "DATEFIRST", "BACKUP_STORAGE_REDUNDANCY", "FORCE_FAILOVER_ALLOW_DATA_LOSS",
619 "SECONDARY", "FAILOVER", "DEFAULT_FULLTEXT_LANGUAGE", "DEFAULT_LANGUAGE",
620 "INLINE", "NESTED_TRIGGERS", "TRANSFORM_NOISE_WORDS", "TWO_DIGIT_YEAR_CUTOFF",
621 "PERSISTENT_LOG_BUFFER", "DIRECTORY_NAME", "DATEFORMAT", "DELAYED_DURABILITY",
622 "AUTHORIZATION", "TRANSFER", "EXPLAIN", "WITH_RECOMMENDATIONS", "BATCH_SIZE",
623 "SETUSER", "NORESET", "DEFAULT_SCHEMA", "ALLOW_ENCRYPTED_VALUE_MODIFICATIONS",
624 "OLD_PASSWORD", "PROVIDER", "SID", "UNCOMMITTED", "COMMITTED", "STOPLIST",
625 "SEARCH", "PROPERTY", "LIST", "SEND", "MEMBER", "HASHED", "MUST_CHANGE",
626 "DEFAULT_DATABASE", "CHECK_EXPIRATION", "CHECK_POLICY", "WINDOWS", "UNLOCK",
627 "REVERT", "COOKIE", "BROWSE", "RAW", "XMLDATA", "XMLSCHEMA", "ELEMENTS",
628 "XSINIL", "ABSENT", "EXPLICIT", "PATH", "BASE64", "ROOT", "JSON", "INCLUDE_NULL_VALUES",
629 "WITHOUT_ARRAY_WRAPPER", "XMLNAMESPACES", "STATISTICS", "FULLSCAN", "SAMPLE",
630 "RESAMPLE", "NORECOMPUTE", "AUTO_DROP", "PERSIST_SAMPLE_PERCENT", "OPENJSON",
631 "OPENROWSET", "TRY_CAST", "TRY_CONVERT", "IDENTIFIER_", "DELIMITED_IDENTIFIER_",
632 "STRING_", "NUMBER_", "INT_NUM_", "FLOAT_NUM_", "DECIMAL_NUM_", "HEX_DIGIT_",
633 "BIT_NUM_", "NCHAR_TEXT", "RESPECT", "IGNORE", "NULLS"
634 };
635 }
636 private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames();
637 public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
638
639
640
641
642 @Deprecated
643 public static final String[] tokenNames;
644 static {
645 tokenNames = new String[_SYMBOLIC_NAMES.length];
646 for (int i = 0; i < tokenNames.length; i++) {
647 tokenNames[i] = VOCABULARY.getLiteralName(i);
648 if (tokenNames[i] == null) {
649 tokenNames[i] = VOCABULARY.getSymbolicName(i);
650 }
651
652 if (tokenNames[i] == null) {
653 tokenNames[i] = "<INVALID>";
654 }
655 }
656 }
657
658 @Override
659 @Deprecated
660 public String[] getTokenNames() {
661 return tokenNames;
662 }
663
664 @Override
665
666 public Vocabulary getVocabulary() {
667 return VOCABULARY;
668 }
669
670 @Override
671 public String getGrammarFileName() { return "SQLServerStatement.g4"; }
672
673 @Override
674 public String[] getRuleNames() { return ruleNames; }
675
676 @Override
677 public String getSerializedATN() { return _serializedATN; }
678
679 @Override
680 public ATN getATN() { return _ATN; }
681
682 public SQLServerStatementParser(TokenStream input) {
683 super(input);
684 _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
685 }
686
687 public static class ExecuteContext extends ParserRuleContext {
688 public SelectContext select() {
689 return getRuleContext(SelectContext.class,0);
690 }
691 public InsertContext insert() {
692 return getRuleContext(InsertContext.class,0);
693 }
694 public UpdateContext update() {
695 return getRuleContext(UpdateContext.class,0);
696 }
697 public DeleteContext delete() {
698 return getRuleContext(DeleteContext.class,0);
699 }
700 public CreateIndexContext createIndex() {
701 return getRuleContext(CreateIndexContext.class,0);
702 }
703 public AlterIndexContext alterIndex() {
704 return getRuleContext(AlterIndexContext.class,0);
705 }
706 public DropIndexContext dropIndex() {
707 return getRuleContext(DropIndexContext.class,0);
708 }
709 public CreateTableContext createTable() {
710 return getRuleContext(CreateTableContext.class,0);
711 }
712 public CreateDatabaseContext createDatabase() {
713 return getRuleContext(CreateDatabaseContext.class,0);
714 }
715 public CreateProcedureContext createProcedure() {
716 return getRuleContext(CreateProcedureContext.class,0);
717 }
718 public CreateViewContext createView() {
719 return getRuleContext(CreateViewContext.class,0);
720 }
721 public CreateTriggerContext createTrigger() {
722 return getRuleContext(CreateTriggerContext.class,0);
723 }
724 public CreateSequenceContext createSequence() {
725 return getRuleContext(CreateSequenceContext.class,0);
726 }
727 public CreateServiceContext createService() {
728 return getRuleContext(CreateServiceContext.class,0);
729 }
730 public CreateSchemaContext createSchema() {
731 return getRuleContext(CreateSchemaContext.class,0);
732 }
733 public AlterTableContext alterTable() {
734 return getRuleContext(AlterTableContext.class,0);
735 }
736 public AlterTriggerContext alterTrigger() {
737 return getRuleContext(AlterTriggerContext.class,0);
738 }
739 public AlterSequenceContext alterSequence() {
740 return getRuleContext(AlterSequenceContext.class,0);
741 }
742 public AlterDatabaseContext alterDatabase() {
743 return getRuleContext(AlterDatabaseContext.class,0);
744 }
745 public AlterServiceContext alterService() {
746 return getRuleContext(AlterServiceContext.class,0);
747 }
748 public AlterSchemaContext alterSchema() {
749 return getRuleContext(AlterSchemaContext.class,0);
750 }
751 public AlterViewContext alterView() {
752 return getRuleContext(AlterViewContext.class,0);
753 }
754 public DropTableContext dropTable() {
755 return getRuleContext(DropTableContext.class,0);
756 }
757 public DropDatabaseContext dropDatabase() {
758 return getRuleContext(DropDatabaseContext.class,0);
759 }
760 public DropFunctionContext dropFunction() {
761 return getRuleContext(DropFunctionContext.class,0);
762 }
763 public DropProcedureContext dropProcedure() {
764 return getRuleContext(DropProcedureContext.class,0);
765 }
766 public DropViewContext dropView() {
767 return getRuleContext(DropViewContext.class,0);
768 }
769 public DropTriggerContext dropTrigger() {
770 return getRuleContext(DropTriggerContext.class,0);
771 }
772 public DropSequenceContext dropSequence() {
773 return getRuleContext(DropSequenceContext.class,0);
774 }
775 public DropServiceContext dropService() {
776 return getRuleContext(DropServiceContext.class,0);
777 }
778 public DropSchemaContext dropSchema() {
779 return getRuleContext(DropSchemaContext.class,0);
780 }
781 public TruncateTableContext truncateTable() {
782 return getRuleContext(TruncateTableContext.class,0);
783 }
784 public CreateFunctionContext createFunction() {
785 return getRuleContext(CreateFunctionContext.class,0);
786 }
787 public SetTransactionContext setTransaction() {
788 return getRuleContext(SetTransactionContext.class,0);
789 }
790 public BeginTransactionContext beginTransaction() {
791 return getRuleContext(BeginTransactionContext.class,0);
792 }
793 public BeginDistributedTransactionContext beginDistributedTransaction() {
794 return getRuleContext(BeginDistributedTransactionContext.class,0);
795 }
796 public SetImplicitTransactionsContext setImplicitTransactions() {
797 return getRuleContext(SetImplicitTransactionsContext.class,0);
798 }
799 public CommitContext commit() {
800 return getRuleContext(CommitContext.class,0);
801 }
802 public CommitWorkContext commitWork() {
803 return getRuleContext(CommitWorkContext.class,0);
804 }
805 public RollbackContext rollback() {
806 return getRuleContext(RollbackContext.class,0);
807 }
808 public RollbackWorkContext rollbackWork() {
809 return getRuleContext(RollbackWorkContext.class,0);
810 }
811 public SavepointContext savepoint() {
812 return getRuleContext(SavepointContext.class,0);
813 }
814 public GrantContext grant() {
815 return getRuleContext(GrantContext.class,0);
816 }
817 public RevokeContext revoke() {
818 return getRuleContext(RevokeContext.class,0);
819 }
820 public DenyContext deny() {
821 return getRuleContext(DenyContext.class,0);
822 }
823 public CreateUserContext createUser() {
824 return getRuleContext(CreateUserContext.class,0);
825 }
826 public DropUserContext dropUser() {
827 return getRuleContext(DropUserContext.class,0);
828 }
829 public AlterUserContext alterUser() {
830 return getRuleContext(AlterUserContext.class,0);
831 }
832 public CreateRoleContext createRole() {
833 return getRuleContext(CreateRoleContext.class,0);
834 }
835 public DropRoleContext dropRole() {
836 return getRuleContext(DropRoleContext.class,0);
837 }
838 public AlterRoleContext alterRole() {
839 return getRuleContext(AlterRoleContext.class,0);
840 }
841 public CreateLoginContext createLogin() {
842 return getRuleContext(CreateLoginContext.class,0);
843 }
844 public DropLoginContext dropLogin() {
845 return getRuleContext(DropLoginContext.class,0);
846 }
847 public AlterLoginContext alterLogin() {
848 return getRuleContext(AlterLoginContext.class,0);
849 }
850 public CallContext call() {
851 return getRuleContext(CallContext.class,0);
852 }
853 public ExplainContext explain() {
854 return getRuleContext(ExplainContext.class,0);
855 }
856 public SetUserContext setUser() {
857 return getRuleContext(SetUserContext.class,0);
858 }
859 public RevertContext revert() {
860 return getRuleContext(RevertContext.class,0);
861 }
862 public UpdateStatisticsContext updateStatistics() {
863 return getRuleContext(UpdateStatisticsContext.class,0);
864 }
865 public TerminalNode SEMI_() { return getToken(SQLServerStatementParser.SEMI_, 0); }
866 public ExecuteContext(ParserRuleContext parent, int invokingState) {
867 super(parent, invokingState);
868 }
869 @Override public int getRuleIndex() { return RULE_execute; }
870 @Override
871 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
872 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExecute(this);
873 else return visitor.visitChildren(this);
874 }
875 }
876
877 public final ExecuteContext execute() throws RecognitionException {
878 ExecuteContext _localctx = new ExecuteContext(_ctx, getState());
879 enterRule(_localctx, 0, RULE_execute);
880 int _la;
881 try {
882 enterOuterAlt(_localctx, 1);
883 {
884 setState(1063);
885 _errHandler.sync(this);
886 switch ( getInterpreter().adaptivePredict(_input,0,_ctx) ) {
887 case 1:
888 {
889 setState(1004);
890 select();
891 }
892 break;
893 case 2:
894 {
895 setState(1005);
896 insert();
897 }
898 break;
899 case 3:
900 {
901 setState(1006);
902 update();
903 }
904 break;
905 case 4:
906 {
907 setState(1007);
908 delete();
909 }
910 break;
911 case 5:
912 {
913 setState(1008);
914 createIndex();
915 }
916 break;
917 case 6:
918 {
919 setState(1009);
920 alterIndex();
921 }
922 break;
923 case 7:
924 {
925 setState(1010);
926 dropIndex();
927 }
928 break;
929 case 8:
930 {
931 setState(1011);
932 createTable();
933 }
934 break;
935 case 9:
936 {
937 setState(1012);
938 createDatabase();
939 }
940 break;
941 case 10:
942 {
943 setState(1013);
944 createProcedure();
945 }
946 break;
947 case 11:
948 {
949 setState(1014);
950 createView();
951 }
952 break;
953 case 12:
954 {
955 setState(1015);
956 createTrigger();
957 }
958 break;
959 case 13:
960 {
961 setState(1016);
962 createSequence();
963 }
964 break;
965 case 14:
966 {
967 setState(1017);
968 createService();
969 }
970 break;
971 case 15:
972 {
973 setState(1018);
974 createSchema();
975 }
976 break;
977 case 16:
978 {
979 setState(1019);
980 alterTable();
981 }
982 break;
983 case 17:
984 {
985 setState(1020);
986 alterTrigger();
987 }
988 break;
989 case 18:
990 {
991 setState(1021);
992 alterSequence();
993 }
994 break;
995 case 19:
996 {
997 setState(1022);
998 alterDatabase();
999 }
1000 break;
1001 case 20:
1002 {
1003 setState(1023);
1004 alterService();
1005 }
1006 break;
1007 case 21:
1008 {
1009 setState(1024);
1010 alterSchema();
1011 }
1012 break;
1013 case 22:
1014 {
1015 setState(1025);
1016 alterView();
1017 }
1018 break;
1019 case 23:
1020 {
1021 setState(1026);
1022 dropTable();
1023 }
1024 break;
1025 case 24:
1026 {
1027 setState(1027);
1028 dropDatabase();
1029 }
1030 break;
1031 case 25:
1032 {
1033 setState(1028);
1034 dropFunction();
1035 }
1036 break;
1037 case 26:
1038 {
1039 setState(1029);
1040 dropProcedure();
1041 }
1042 break;
1043 case 27:
1044 {
1045 setState(1030);
1046 dropView();
1047 }
1048 break;
1049 case 28:
1050 {
1051 setState(1031);
1052 dropTrigger();
1053 }
1054 break;
1055 case 29:
1056 {
1057 setState(1032);
1058 dropSequence();
1059 }
1060 break;
1061 case 30:
1062 {
1063 setState(1033);
1064 dropService();
1065 }
1066 break;
1067 case 31:
1068 {
1069 setState(1034);
1070 dropSchema();
1071 }
1072 break;
1073 case 32:
1074 {
1075 setState(1035);
1076 truncateTable();
1077 }
1078 break;
1079 case 33:
1080 {
1081 setState(1036);
1082 createFunction();
1083 }
1084 break;
1085 case 34:
1086 {
1087 setState(1037);
1088 setTransaction();
1089 }
1090 break;
1091 case 35:
1092 {
1093 setState(1038);
1094 beginTransaction();
1095 }
1096 break;
1097 case 36:
1098 {
1099 setState(1039);
1100 beginDistributedTransaction();
1101 }
1102 break;
1103 case 37:
1104 {
1105 setState(1040);
1106 setImplicitTransactions();
1107 }
1108 break;
1109 case 38:
1110 {
1111 setState(1041);
1112 commit();
1113 }
1114 break;
1115 case 39:
1116 {
1117 setState(1042);
1118 commitWork();
1119 }
1120 break;
1121 case 40:
1122 {
1123 setState(1043);
1124 rollback();
1125 }
1126 break;
1127 case 41:
1128 {
1129 setState(1044);
1130 rollbackWork();
1131 }
1132 break;
1133 case 42:
1134 {
1135 setState(1045);
1136 savepoint();
1137 }
1138 break;
1139 case 43:
1140 {
1141 setState(1046);
1142 grant();
1143 }
1144 break;
1145 case 44:
1146 {
1147 setState(1047);
1148 revoke();
1149 }
1150 break;
1151 case 45:
1152 {
1153 setState(1048);
1154 deny();
1155 }
1156 break;
1157 case 46:
1158 {
1159 setState(1049);
1160 createUser();
1161 }
1162 break;
1163 case 47:
1164 {
1165 setState(1050);
1166 dropUser();
1167 }
1168 break;
1169 case 48:
1170 {
1171 setState(1051);
1172 alterUser();
1173 }
1174 break;
1175 case 49:
1176 {
1177 setState(1052);
1178 createRole();
1179 }
1180 break;
1181 case 50:
1182 {
1183 setState(1053);
1184 dropRole();
1185 }
1186 break;
1187 case 51:
1188 {
1189 setState(1054);
1190 alterRole();
1191 }
1192 break;
1193 case 52:
1194 {
1195 setState(1055);
1196 createLogin();
1197 }
1198 break;
1199 case 53:
1200 {
1201 setState(1056);
1202 dropLogin();
1203 }
1204 break;
1205 case 54:
1206 {
1207 setState(1057);
1208 alterLogin();
1209 }
1210 break;
1211 case 55:
1212 {
1213 setState(1058);
1214 call();
1215 }
1216 break;
1217 case 56:
1218 {
1219 setState(1059);
1220 explain();
1221 }
1222 break;
1223 case 57:
1224 {
1225 setState(1060);
1226 setUser();
1227 }
1228 break;
1229 case 58:
1230 {
1231 setState(1061);
1232 revert();
1233 }
1234 break;
1235 case 59:
1236 {
1237 setState(1062);
1238 updateStatistics();
1239 }
1240 break;
1241 }
1242 setState(1066);
1243 _errHandler.sync(this);
1244 _la = _input.LA(1);
1245 if (_la==SEMI_) {
1246 {
1247 setState(1065);
1248 match(SEMI_);
1249 }
1250 }
1251
1252 }
1253 }
1254 catch (RecognitionException re) {
1255 _localctx.exception = re;
1256 _errHandler.reportError(this, re);
1257 _errHandler.recover(this, re);
1258 }
1259 finally {
1260 exitRule();
1261 }
1262 return _localctx;
1263 }
1264
1265 public static class SetTransactionContext extends ParserRuleContext {
1266 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
1267 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1268 public TerminalNode ISOLATION() { return getToken(SQLServerStatementParser.ISOLATION, 0); }
1269 public TerminalNode LEVEL() { return getToken(SQLServerStatementParser.LEVEL, 0); }
1270 public IsolationLevelContext isolationLevel() {
1271 return getRuleContext(IsolationLevelContext.class,0);
1272 }
1273 public SetTransactionContext(ParserRuleContext parent, int invokingState) {
1274 super(parent, invokingState);
1275 }
1276 @Override public int getRuleIndex() { return RULE_setTransaction; }
1277 @Override
1278 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1279 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetTransaction(this);
1280 else return visitor.visitChildren(this);
1281 }
1282 }
1283
1284 public final SetTransactionContext setTransaction() throws RecognitionException {
1285 SetTransactionContext _localctx = new SetTransactionContext(_ctx, getState());
1286 enterRule(_localctx, 2, RULE_setTransaction);
1287 try {
1288 enterOuterAlt(_localctx, 1);
1289 {
1290 setState(1068);
1291 match(SET);
1292 setState(1069);
1293 match(TRANSACTION);
1294 setState(1070);
1295 match(ISOLATION);
1296 setState(1071);
1297 match(LEVEL);
1298 setState(1072);
1299 isolationLevel();
1300 }
1301 }
1302 catch (RecognitionException re) {
1303 _localctx.exception = re;
1304 _errHandler.reportError(this, re);
1305 _errHandler.recover(this, re);
1306 }
1307 finally {
1308 exitRule();
1309 }
1310 return _localctx;
1311 }
1312
1313 public static class IsolationLevelContext extends ParserRuleContext {
1314 public TerminalNode READ() { return getToken(SQLServerStatementParser.READ, 0); }
1315 public TerminalNode UNCOMMITTED() { return getToken(SQLServerStatementParser.UNCOMMITTED, 0); }
1316 public TerminalNode COMMITTED() { return getToken(SQLServerStatementParser.COMMITTED, 0); }
1317 public TerminalNode REPEATABLE() { return getToken(SQLServerStatementParser.REPEATABLE, 0); }
1318 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
1319 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
1320 public IsolationLevelContext(ParserRuleContext parent, int invokingState) {
1321 super(parent, invokingState);
1322 }
1323 @Override public int getRuleIndex() { return RULE_isolationLevel; }
1324 @Override
1325 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1326 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIsolationLevel(this);
1327 else return visitor.visitChildren(this);
1328 }
1329 }
1330
1331 public final IsolationLevelContext isolationLevel() throws RecognitionException {
1332 IsolationLevelContext _localctx = new IsolationLevelContext(_ctx, getState());
1333 enterRule(_localctx, 4, RULE_isolationLevel);
1334 try {
1335 setState(1082);
1336 _errHandler.sync(this);
1337 switch ( getInterpreter().adaptivePredict(_input,2,_ctx) ) {
1338 case 1:
1339 enterOuterAlt(_localctx, 1);
1340 {
1341 setState(1074);
1342 match(READ);
1343 setState(1075);
1344 match(UNCOMMITTED);
1345 }
1346 break;
1347 case 2:
1348 enterOuterAlt(_localctx, 2);
1349 {
1350 setState(1076);
1351 match(READ);
1352 setState(1077);
1353 match(COMMITTED);
1354 }
1355 break;
1356 case 3:
1357 enterOuterAlt(_localctx, 3);
1358 {
1359 setState(1078);
1360 match(REPEATABLE);
1361 setState(1079);
1362 match(READ);
1363 }
1364 break;
1365 case 4:
1366 enterOuterAlt(_localctx, 4);
1367 {
1368 setState(1080);
1369 match(SNAPSHOT);
1370 }
1371 break;
1372 case 5:
1373 enterOuterAlt(_localctx, 5);
1374 {
1375 setState(1081);
1376 match(SERIALIZABLE);
1377 }
1378 break;
1379 }
1380 }
1381 catch (RecognitionException re) {
1382 _localctx.exception = re;
1383 _errHandler.reportError(this, re);
1384 _errHandler.recover(this, re);
1385 }
1386 finally {
1387 exitRule();
1388 }
1389 return _localctx;
1390 }
1391
1392 public static class SetImplicitTransactionsContext extends ParserRuleContext {
1393 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
1394 public TerminalNode IMPLICIT_TRANSACTIONS() { return getToken(SQLServerStatementParser.IMPLICIT_TRANSACTIONS, 0); }
1395 public ImplicitTransactionsValueContext implicitTransactionsValue() {
1396 return getRuleContext(ImplicitTransactionsValueContext.class,0);
1397 }
1398 public SetImplicitTransactionsContext(ParserRuleContext parent, int invokingState) {
1399 super(parent, invokingState);
1400 }
1401 @Override public int getRuleIndex() { return RULE_setImplicitTransactions; }
1402 @Override
1403 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1404 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetImplicitTransactions(this);
1405 else return visitor.visitChildren(this);
1406 }
1407 }
1408
1409 public final SetImplicitTransactionsContext setImplicitTransactions() throws RecognitionException {
1410 SetImplicitTransactionsContext _localctx = new SetImplicitTransactionsContext(_ctx, getState());
1411 enterRule(_localctx, 6, RULE_setImplicitTransactions);
1412 try {
1413 enterOuterAlt(_localctx, 1);
1414 {
1415 setState(1084);
1416 match(SET);
1417 setState(1085);
1418 match(IMPLICIT_TRANSACTIONS);
1419 setState(1086);
1420 implicitTransactionsValue();
1421 }
1422 }
1423 catch (RecognitionException re) {
1424 _localctx.exception = re;
1425 _errHandler.reportError(this, re);
1426 _errHandler.recover(this, re);
1427 }
1428 finally {
1429 exitRule();
1430 }
1431 return _localctx;
1432 }
1433
1434 public static class ImplicitTransactionsValueContext extends ParserRuleContext {
1435 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
1436 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
1437 public ImplicitTransactionsValueContext(ParserRuleContext parent, int invokingState) {
1438 super(parent, invokingState);
1439 }
1440 @Override public int getRuleIndex() { return RULE_implicitTransactionsValue; }
1441 @Override
1442 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1443 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitImplicitTransactionsValue(this);
1444 else return visitor.visitChildren(this);
1445 }
1446 }
1447
1448 public final ImplicitTransactionsValueContext implicitTransactionsValue() throws RecognitionException {
1449 ImplicitTransactionsValueContext _localctx = new ImplicitTransactionsValueContext(_ctx, getState());
1450 enterRule(_localctx, 8, RULE_implicitTransactionsValue);
1451 int _la;
1452 try {
1453 enterOuterAlt(_localctx, 1);
1454 {
1455 setState(1088);
1456 _la = _input.LA(1);
1457 if ( !(_la==ON || _la==OFF) ) {
1458 _errHandler.recoverInline(this);
1459 }
1460 else {
1461 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1462 _errHandler.reportMatch(this);
1463 consume();
1464 }
1465 }
1466 }
1467 catch (RecognitionException re) {
1468 _localctx.exception = re;
1469 _errHandler.reportError(this, re);
1470 _errHandler.recover(this, re);
1471 }
1472 finally {
1473 exitRule();
1474 }
1475 return _localctx;
1476 }
1477
1478 public static class BeginTransactionContext extends ParserRuleContext {
1479 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
1480 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1481 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1482 public TransactionNameContext transactionName() {
1483 return getRuleContext(TransactionNameContext.class,0);
1484 }
1485 public TransactionVariableNameContext transactionVariableName() {
1486 return getRuleContext(TransactionVariableNameContext.class,0);
1487 }
1488 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
1489 public TerminalNode MARK() { return getToken(SQLServerStatementParser.MARK, 0); }
1490 public StringLiteralsContext stringLiterals() {
1491 return getRuleContext(StringLiteralsContext.class,0);
1492 }
1493 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
1494 public BeginTransactionContext(ParserRuleContext parent, int invokingState) {
1495 super(parent, invokingState);
1496 }
1497 @Override public int getRuleIndex() { return RULE_beginTransaction; }
1498 @Override
1499 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1500 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBeginTransaction(this);
1501 else return visitor.visitChildren(this);
1502 }
1503 }
1504
1505 public final BeginTransactionContext beginTransaction() throws RecognitionException {
1506 BeginTransactionContext _localctx = new BeginTransactionContext(_ctx, getState());
1507 enterRule(_localctx, 10, RULE_beginTransaction);
1508 int _la;
1509 try {
1510 enterOuterAlt(_localctx, 1);
1511 {
1512 setState(1090);
1513 match(BEGIN);
1514 setState(1091);
1515 _la = _input.LA(1);
1516 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1517 _errHandler.recoverInline(this);
1518 }
1519 else {
1520 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1521 _errHandler.reportMatch(this);
1522 consume();
1523 }
1524 setState(1104);
1525 _errHandler.sync(this);
1526 _la = _input.LA(1);
1527 if (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (TRIM - 53)) | (1L << (SUBSTRING - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (TIMESTAMP - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (YEAR - 118)) | (1L << (QUARTER - 118)) | (1L << (MONTH - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)) | (1L << (TOP - 184)))) != 0) || ((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (ROW - 248)) | (1L << (ROWS - 248)) | (1L << (XOR - 248)) | (1L << (ALWAYS - 248)) | (1L << (ROLE - 248)) | (1L << (START - 248)) | (1L << (ALGORITHM - 248)) | (1L << (AUTO - 248)) | (1L << (BLOCKERS - 248)) | (1L << (CLUSTERED - 248)) | (1L << (NONCLUSTERED - 248)) | (1L << (COLUMNSTORE - 248)) | (1L << (CONTENT - 248)) | (1L << (YEARS - 248)) | (1L << (MONTHS - 248)) | (1L << (WEEKS - 248)) | (1L << (DAYS - 248)) | (1L << (MINUTES - 248)) | (1L << (DENY - 248)) | (1L << (DETERMINISTIC - 248)) | (1L << (DISTRIBUTION - 248)) | (1L << (DOCUMENT - 248)) | (1L << (DURABILITY - 248)) | (1L << (ENCRYPTED - 248)) | (1L << (FILESTREAM - 248)) | (1L << (FILETABLE - 248)) | (1L << (FILLFACTOR - 248)) | (1L << (FOLLOWING - 248)) | (1L << (HASH - 248)) | (1L << (HEAP - 248)) | (1L << (INBOUND - 248)) | (1L << (OUTBOUND - 248)) | (1L << (UNBOUNDED - 248)) | (1L << (INFINITE - 248)) | (1L << (LOGIN - 248)) | (1L << (MASKED - 248)) | (1L << (MAXDOP - 248)) | (1L << (MOVE - 248)) | (1L << (NOCHECK - 248)) | (1L << (OBJECT - 248)) | (1L << (ONLINE - 248)) | (1L << (OVER - 248)) | (1L << (PAGE - 248)) | (1L << (PAUSED - 248)) | (1L << (PERIOD - 248)) | (1L << (PERSISTED - 248)) | (1L << (PRECEDING - 248)) | (1L << (RANDOMIZED - 248)))) != 0) || ((((_la - 312)) & ~0x3f) == 0 && ((1L << (_la - 312)) & ((1L << (RANGE - 312)) | (1L << (REBUILD - 312)) | (1L << (REPLICATE - 312)) | (1L << (REPLICATION - 312)) | (1L << (RESUMABLE - 312)) | (1L << (ROWGUIDCOL - 312)) | (1L << (SAVE - 312)) | (1L << (SELF - 312)) | (1L << (SPARSE - 312)) | (1L << (SWITCH - 312)) | (1L << (TRAN - 312)) | (1L << (TRANCOUNT - 312)) | (1L << (CONTROL - 312)) | (1L << (CONCAT - 312)) | (1L << (TAKE - 312)) | (1L << (OWNERSHIP - 312)) | (1L << (DEFINITION - 312)) | (1L << (APPLICATION - 312)) | (1L << (ASSEMBLY - 312)) | (1L << (SYMMETRIC - 312)) | (1L << (ASYMMETRIC - 312)) | (1L << (SERVER - 312)) | (1L << (RECEIVE - 312)) | (1L << (CHANGE - 312)) | (1L << (TRACE - 312)) | (1L << (TRACKING - 312)) | (1L << (RESOURCES - 312)) | (1L << (SETTINGS - 312)) | (1L << (STATE - 312)) | (1L << (AVAILABILITY - 312)) | (1L << (CREDENTIAL - 312)) | (1L << (ENDPOINT - 312)) | (1L << (EVENT - 312)) | (1L << (NOTIFICATION - 312)) | (1L << (LINKED - 312)) | (1L << (AUDIT - 312)) | (1L << (DDL - 312)) | (1L << (XML - 312)) | (1L << (IMPERSONATE - 312)) | (1L << (SECURABLES - 312)) | (1L << (AUTHENTICATE - 312)) | (1L << (EXTERNAL - 312)) | (1L << (ACCESS - 312)) | (1L << (ADMINISTER - 312)) | (1L << (BULK - 312)) | (1L << (OPERATIONS - 312)) | (1L << (UNSAFE - 312)) | (1L << (SHUTDOWN - 312)) | (1L << (SCOPED - 312)) | (1L << (CONFIGURATION - 312)) | (1L << (DATASPACE - 312)) | (1L << (SERVICE - 312)) | (1L << (CERTIFICATE - 312)) | (1L << (CONTRACT - 312)) | (1L << (ENCRYPTION - 312)) | (1L << (MASTER - 312)) | (1L << (DATA - 312)))) != 0) || ((((_la - 376)) & ~0x3f) == 0 && ((1L << (_la - 376)) & ((1L << (SOURCE - 376)) | (1L << (FILE - 376)) | (1L << (FORMAT - 376)) | (1L << (LIBRARY - 376)) | (1L << (FULLTEXT - 376)) | (1L << (MASK - 376)) | (1L << (UNMASK - 376)) | (1L << (MESSAGE - 376)) | (1L << (REMOTE - 376)) | (1L << (BINDING - 376)) | (1L << (ROUTE - 376)) | (1L << (SECURITY - 376)) | (1L << (POLICY - 376)) | (1L << (AGGREGATE - 376)) | (1L << (QUEUE - 376)) | (1L << (RULE - 376)) | (1L << (SYNONYM - 376)) | (1L << (COLLECTION - 376)) | (1L << (SCRIPT - 376)) | (1L << (KILL - 376)) | (1L << (BACKUP - 376)) | (1L << (LOG - 376)) | (1L << (SHOWPLAN - 376)) | (1L << (SUBSCRIBE - 376)) | (1L << (QUERY - 376)) | (1L << (NOTIFICATIONS - 376)) | (1L << (CHECKPOINT - 376)) | (1L << (SEQUENCE - 376)) | (1L << (ABORT_AFTER_WAIT - 376)) | (1L << (ALLOW_PAGE_LOCKS - 376)) | (1L << (ALLOW_ROW_LOCKS - 376)) | (1L << (ALL_SPARSE_COLUMNS - 376)) | (1L << (BUCKET_COUNT - 376)) | (1L << (COLUMNSTORE_ARCHIVE - 376)) | (1L << (COLUMN_ENCRYPTION_KEY - 376)) | (1L << (COLUMN_SET - 376)) | (1L << (COMPRESSION_DELAY - 376)) | (1L << (DATABASE_DEAULT - 376)) | (1L << (DATA_COMPRESSION - 376)) | (1L << (DATA_CONSISTENCY_CHECK - 376)) | (1L << (ENCRYPTION_TYPE - 376)) | (1L << (SYSTEM_TIME - 376)) | (1L << (SYSTEM_VERSIONING - 376)) | (1L << (TEXTIMAGE_ON - 376)) | (1L << (WAIT_AT_LOW_PRIORITY - 376)) | (1L << (STATISTICS_INCREMENTAL - 376)) | (1L << (STATISTICS_NORECOMPUTE - 376)) | (1L << (ROUND_ROBIN - 376)) | (1L << (SCHEMA_AND_DATA - 376)) | (1L << (SCHEMA_ONLY - 376)) | (1L << (SORT_IN_TEMPDB - 376)) | (1L << (IGNORE_DUP_KEY - 376)) | (1L << (IMPLICIT_TRANSACTIONS - 376)) | (1L << (MAX_DURATION - 376)) | (1L << (MEMORY_OPTIMIZED - 376)) | (1L << (MIGRATION_STATE - 376)) | (1L << (PAD_INDEX - 376)) | (1L << (REMOTE_DATA_ARCHIVE - 376)) | (1L << (FILESTREAM_ON - 376)) | (1L << (FILETABLE_COLLATE_FILENAME - 376)) | (1L << (FILETABLE_DIRECTORY - 376)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 376)))) != 0) || ((((_la - 440)) & ~0x3f) == 0 && ((1L << (_la - 440)) & ((1L << (FILTER_PREDICATE - 440)) | (1L << (HISTORY_RETENTION_PERIOD - 440)) | (1L << (HISTORY_TABLE - 440)) | (1L << (LOCK_ESCALATION - 440)) | (1L << (DROP_EXISTING - 440)) | (1L << (ROW_NUMBER - 440)) | (1L << (FIRST - 440)) | (1L << (DATETIME2 - 440)) | (1L << (OUTPUT - 440)) | (1L << (INSERTED - 440)) | (1L << (DELETED - 440)))) != 0) || ((((_la - 504)) & ~0x3f) == 0 && ((1L << (_la - 504)) & ((1L << (FILENAME - 504)) | (1L << (SIZE - 504)) | (1L << (MAXSIZE - 504)) | (1L << (FILEGROWTH - 504)) | (1L << (UNLIMITED - 504)) | (1L << (KB - 504)) | (1L << (MB - 504)) | (1L << (GB - 504)) | (1L << (TB - 504)) | (1L << (CONTAINS - 504)) | (1L << (MEMORY_OPTIMIZED_DATA - 504)) | (1L << (FILEGROUP - 504)) | (1L << (NON_TRANSACTED_ACCESS - 504)) | (1L << (DB_CHAINING - 504)) | (1L << (TRUSTWORTHY - 504)) | (1L << (FORWARD_ONLY - 504)) | (1L << (KEYSET - 504)) | (1L << (FAST_FORWARD - 504)) | (1L << (SCROLL_LOCKS - 504)) | (1L << (OPTIMISTIC - 504)) | (1L << (TYPE_WARNING - 504)) | (1L << (SCHEMABINDING - 504)) | (1L << (CALLER - 504)) | (1L << (INPUT - 504)) | (1L << (OWNER - 504)) | (1L << (SNAPSHOT - 504)) | (1L << (REPEATABLE - 504)) | (1L << (SERIALIZABLE - 504)) | (1L << (NATIVE_COMPILATION - 504)) | (1L << (VIEW_METADATA - 504)) | (1L << (INSTEAD - 504)) | (1L << (APPEND - 504)) | (1L << (INCREMENT - 504)) | (1L << (CACHE - 504)) | (1L << (MINVALUE - 504)) | (1L << (MAXVALUE - 504)) | (1L << (RESTART - 504)) | (1L << (LOB_COMPACTION - 504)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 504)) | (1L << (REORGANIZE - 504)) | (1L << (RESUME - 504)) | (1L << (PAUSE - 504)) | (1L << (ABORT - 504)))) != 0) || ((((_la - 570)) & ~0x3f) == 0 && ((1L << (_la - 570)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 570)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 570)) | (1L << (IMMEDIATE - 570)) | (1L << (NO_WAIT - 570)) | (1L << (TARGET_RECOVERY_TIME - 570)) | (1L << (SECONDS - 570)) | (1L << (HONOR_BROKER_PRIORITY - 570)) | (1L << (ERROR_BROKER_CONVERSATIONS - 570)) | (1L << (NEW_BROKER - 570)) | (1L << (DISABLE_BROKER - 570)) | (1L << (ENABLE_BROKER - 570)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 570)) | (1L << (READ_COMMITTED_SNAPSHOT - 570)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 570)) | (1L << (RECURSIVE_TRIGGERS - 570)) | (1L << (QUOTED_IDENTIFIER - 570)) | (1L << (NUMERIC_ROUNDABORT - 570)) | (1L << (CONCAT_NULL_YIELDS_NULL - 570)) | (1L << (COMPATIBILITY_LEVEL - 570)) | (1L << (ARITHABORT - 570)) | (1L << (ANSI_WARNINGS - 570)) | (1L << (ANSI_PADDING - 570)) | (1L << (ANSI_NULLS - 570)) | (1L << (ANSI_NULL_DEFAULT - 570)) | (1L << (PAGE_VERIFY - 570)) | (1L << (CHECKSUM - 570)) | (1L << (TORN_PAGE_DETECTION - 570)) | (1L << (BULK_LOGGED - 570)) | (1L << (RECOVERY - 570)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 570)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 570)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 570)) | (1L << (EXECUTION_COUNT - 570)) | (1L << (QUERY_CAPTURE_POLICY - 570)) | (1L << (WAIT_STATS_CAPTURE_MODE - 570)) | (1L << (MAX_PLANS_PER_QUERY - 570)) | (1L << (QUERY_CAPTURE_MODE - 570)) | (1L << (SIZE_BASED_CLEANUP_MODE - 570)) | (1L << (INTERVAL_LENGTH_MINUTES - 570)) | (1L << (MAX_STORAGE_SIZE_MB - 570)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 570)) | (1L << (CLEANUP_POLICY - 570)) | (1L << (CUSTOM - 570)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 570)) | (1L << (OPERATION_MODE - 570)) | (1L << (QUERY_STORE - 570)) | (1L << (CURSOR_DEFAULT - 570)) | (1L << (GLOBAL - 570)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 570)) | (1L << (HOURS - 570)) | (1L << (CHANGE_RETENTION - 570)) | (1L << (AUTO_CLEANUP - 570)) | (1L << (CHANGE_TRACKING - 570)) | (1L << (AUTOMATIC_TUNING - 570)) | (1L << (FORCE_LAST_GOOD_PLAN - 570)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 570)) | (1L << (AUTO_UPDATE_STATISTICS - 570)) | (1L << (AUTO_SHRINK - 570)) | (1L << (AUTO_CREATE_STATISTICS - 570)) | (1L << (INCREMENTAL - 570)) | (1L << (AUTO_CLOSE - 570)) | (1L << (DATA_RETENTION - 570)) | (1L << (TEMPORAL_HISTORY_RETENTION - 570)) | (1L << (EDITION - 570)))) != 0) || ((((_la - 634)) & ~0x3f) == 0 && ((1L << (_la - 634)) & ((1L << (MIXED_PAGE_ALLOCATION - 634)) | (1L << (DISABLED - 634)) | (1L << (ALLOWED - 634)) | (1L << (HADR - 634)) | (1L << (MULTI_USER - 634)) | (1L << (RESTRICTED_USER - 634)) | (1L << (SINGLE_USER - 634)) | (1L << (OFFLINE - 634)) | (1L << (EMERGENCY - 634)) | (1L << (SUSPEND - 634)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 634)) | (1L << (ELASTIC_POOL - 634)) | (1L << (SERVICE_OBJECTIVE - 634)) | (1L << (DATABASE_NAME - 634)) | (1L << (ALLOW_CONNECTIONS - 634)) | (1L << (GEO - 634)) | (1L << (NAMED - 634)) | (1L << (DATEFIRST - 634)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 634)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 634)) | (1L << (SECONDARY - 634)) | (1L << (FAILOVER - 634)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 634)) | (1L << (DEFAULT_LANGUAGE - 634)) | (1L << (INLINE - 634)) | (1L << (NESTED_TRIGGERS - 634)) | (1L << (TRANSFORM_NOISE_WORDS - 634)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 634)) | (1L << (PERSISTENT_LOG_BUFFER - 634)) | (1L << (DIRECTORY_NAME - 634)) | (1L << (DATEFORMAT - 634)) | (1L << (DELAYED_DURABILITY - 634)) | (1L << (AUTHORIZATION - 634)) | (1L << (TRANSFER - 634)) | (1L << (PROVIDER - 634)) | (1L << (SEARCH - 634)) | (1L << (MEMBER - 634)))) != 0) || _la==IDENTIFIER_ || _la==DELIMITED_IDENTIFIER_) {
1528 {
1529 setState(1094);
1530 _errHandler.sync(this);
1531 switch ( getInterpreter().adaptivePredict(_input,3,_ctx) ) {
1532 case 1:
1533 {
1534 setState(1092);
1535 transactionName();
1536 }
1537 break;
1538 case 2:
1539 {
1540 setState(1093);
1541 transactionVariableName();
1542 }
1543 break;
1544 }
1545 setState(1102);
1546 _errHandler.sync(this);
1547 _la = _input.LA(1);
1548 if (_la==WITH) {
1549 {
1550 setState(1096);
1551 match(WITH);
1552 setState(1097);
1553 match(MARK);
1554 setState(1100);
1555 _errHandler.sync(this);
1556 switch ( getInterpreter().adaptivePredict(_input,4,_ctx) ) {
1557 case 1:
1558 {
1559 setState(1098);
1560 stringLiterals();
1561 }
1562 break;
1563 case 2:
1564 {
1565 setState(1099);
1566 match(NCHAR_TEXT);
1567 }
1568 break;
1569 }
1570 }
1571 }
1572
1573 }
1574 }
1575
1576 }
1577 }
1578 catch (RecognitionException re) {
1579 _localctx.exception = re;
1580 _errHandler.reportError(this, re);
1581 _errHandler.recover(this, re);
1582 }
1583 finally {
1584 exitRule();
1585 }
1586 return _localctx;
1587 }
1588
1589 public static class BeginDistributedTransactionContext extends ParserRuleContext {
1590 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
1591 public TerminalNode DISTRIBUTED() { return getToken(SQLServerStatementParser.DISTRIBUTED, 0); }
1592 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1593 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1594 public TransactionNameContext transactionName() {
1595 return getRuleContext(TransactionNameContext.class,0);
1596 }
1597 public TransactionVariableNameContext transactionVariableName() {
1598 return getRuleContext(TransactionVariableNameContext.class,0);
1599 }
1600 public BeginDistributedTransactionContext(ParserRuleContext parent, int invokingState) {
1601 super(parent, invokingState);
1602 }
1603 @Override public int getRuleIndex() { return RULE_beginDistributedTransaction; }
1604 @Override
1605 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1606 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBeginDistributedTransaction(this);
1607 else return visitor.visitChildren(this);
1608 }
1609 }
1610
1611 public final BeginDistributedTransactionContext beginDistributedTransaction() throws RecognitionException {
1612 BeginDistributedTransactionContext _localctx = new BeginDistributedTransactionContext(_ctx, getState());
1613 enterRule(_localctx, 12, RULE_beginDistributedTransaction);
1614 int _la;
1615 try {
1616 enterOuterAlt(_localctx, 1);
1617 {
1618 setState(1106);
1619 match(BEGIN);
1620 setState(1107);
1621 match(DISTRIBUTED);
1622 setState(1108);
1623 _la = _input.LA(1);
1624 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1625 _errHandler.recoverInline(this);
1626 }
1627 else {
1628 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1629 _errHandler.reportMatch(this);
1630 consume();
1631 }
1632 setState(1111);
1633 _errHandler.sync(this);
1634 switch ( getInterpreter().adaptivePredict(_input,7,_ctx) ) {
1635 case 1:
1636 {
1637 setState(1109);
1638 transactionName();
1639 }
1640 break;
1641 case 2:
1642 {
1643 setState(1110);
1644 transactionVariableName();
1645 }
1646 break;
1647 }
1648 }
1649 }
1650 catch (RecognitionException re) {
1651 _localctx.exception = re;
1652 _errHandler.reportError(this, re);
1653 _errHandler.recover(this, re);
1654 }
1655 finally {
1656 exitRule();
1657 }
1658 return _localctx;
1659 }
1660
1661 public static class CommitContext extends ParserRuleContext {
1662 public TerminalNode COMMIT() { return getToken(SQLServerStatementParser.COMMIT, 0); }
1663 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
1664 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
1665 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
1666 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
1667 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
1668 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1669 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1670 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
1671 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
1672 public TransactionNameContext transactionName() {
1673 return getRuleContext(TransactionNameContext.class,0);
1674 }
1675 public TransactionVariableNameContext transactionVariableName() {
1676 return getRuleContext(TransactionVariableNameContext.class,0);
1677 }
1678 public CommitContext(ParserRuleContext parent, int invokingState) {
1679 super(parent, invokingState);
1680 }
1681 @Override public int getRuleIndex() { return RULE_commit; }
1682 @Override
1683 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1684 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommit(this);
1685 else return visitor.visitChildren(this);
1686 }
1687 }
1688
1689 public final CommitContext commit() throws RecognitionException {
1690 CommitContext _localctx = new CommitContext(_ctx, getState());
1691 enterRule(_localctx, 14, RULE_commit);
1692 int _la;
1693 try {
1694 enterOuterAlt(_localctx, 1);
1695 {
1696 setState(1113);
1697 match(COMMIT);
1698 setState(1119);
1699 _errHandler.sync(this);
1700 _la = _input.LA(1);
1701 if (_la==TRANSACTION || _la==TRAN) {
1702 {
1703 setState(1114);
1704 _la = _input.LA(1);
1705 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1706 _errHandler.recoverInline(this);
1707 }
1708 else {
1709 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1710 _errHandler.reportMatch(this);
1711 consume();
1712 }
1713 setState(1117);
1714 _errHandler.sync(this);
1715 switch ( getInterpreter().adaptivePredict(_input,8,_ctx) ) {
1716 case 1:
1717 {
1718 setState(1115);
1719 transactionName();
1720 }
1721 break;
1722 case 2:
1723 {
1724 setState(1116);
1725 transactionVariableName();
1726 }
1727 break;
1728 }
1729 }
1730 }
1731
1732 setState(1127);
1733 _errHandler.sync(this);
1734 _la = _input.LA(1);
1735 if (_la==WITH) {
1736 {
1737 setState(1121);
1738 match(WITH);
1739 setState(1122);
1740 match(LP_);
1741 setState(1123);
1742 match(DELAYED_DURABILITY);
1743 setState(1124);
1744 match(EQ_);
1745 setState(1125);
1746 _la = _input.LA(1);
1747 if ( !(_la==ON || _la==OFF) ) {
1748 _errHandler.recoverInline(this);
1749 }
1750 else {
1751 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1752 _errHandler.reportMatch(this);
1753 consume();
1754 }
1755 setState(1126);
1756 match(RP_);
1757 }
1758 }
1759
1760 }
1761 }
1762 catch (RecognitionException re) {
1763 _localctx.exception = re;
1764 _errHandler.reportError(this, re);
1765 _errHandler.recover(this, re);
1766 }
1767 finally {
1768 exitRule();
1769 }
1770 return _localctx;
1771 }
1772
1773 public static class CommitWorkContext extends ParserRuleContext {
1774 public TerminalNode COMMIT() { return getToken(SQLServerStatementParser.COMMIT, 0); }
1775 public TerminalNode WORK() { return getToken(SQLServerStatementParser.WORK, 0); }
1776 public CommitWorkContext(ParserRuleContext parent, int invokingState) {
1777 super(parent, invokingState);
1778 }
1779 @Override public int getRuleIndex() { return RULE_commitWork; }
1780 @Override
1781 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1782 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommitWork(this);
1783 else return visitor.visitChildren(this);
1784 }
1785 }
1786
1787 public final CommitWorkContext commitWork() throws RecognitionException {
1788 CommitWorkContext _localctx = new CommitWorkContext(_ctx, getState());
1789 enterRule(_localctx, 16, RULE_commitWork);
1790 int _la;
1791 try {
1792 enterOuterAlt(_localctx, 1);
1793 {
1794 setState(1129);
1795 match(COMMIT);
1796 setState(1131);
1797 _errHandler.sync(this);
1798 _la = _input.LA(1);
1799 if (_la==WORK) {
1800 {
1801 setState(1130);
1802 match(WORK);
1803 }
1804 }
1805
1806 }
1807 }
1808 catch (RecognitionException re) {
1809 _localctx.exception = re;
1810 _errHandler.reportError(this, re);
1811 _errHandler.recover(this, re);
1812 }
1813 finally {
1814 exitRule();
1815 }
1816 return _localctx;
1817 }
1818
1819 public static class RollbackContext extends ParserRuleContext {
1820 public TerminalNode ROLLBACK() { return getToken(SQLServerStatementParser.ROLLBACK, 0); }
1821 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1822 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1823 public TransactionNameContext transactionName() {
1824 return getRuleContext(TransactionNameContext.class,0);
1825 }
1826 public TransactionVariableNameContext transactionVariableName() {
1827 return getRuleContext(TransactionVariableNameContext.class,0);
1828 }
1829 public SavepointNameContext savepointName() {
1830 return getRuleContext(SavepointNameContext.class,0);
1831 }
1832 public SavepointVariableNameContext savepointVariableName() {
1833 return getRuleContext(SavepointVariableNameContext.class,0);
1834 }
1835 public RollbackContext(ParserRuleContext parent, int invokingState) {
1836 super(parent, invokingState);
1837 }
1838 @Override public int getRuleIndex() { return RULE_rollback; }
1839 @Override
1840 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1841 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRollback(this);
1842 else return visitor.visitChildren(this);
1843 }
1844 }
1845
1846 public final RollbackContext rollback() throws RecognitionException {
1847 RollbackContext _localctx = new RollbackContext(_ctx, getState());
1848 enterRule(_localctx, 18, RULE_rollback);
1849 int _la;
1850 try {
1851 enterOuterAlt(_localctx, 1);
1852 {
1853 setState(1133);
1854 match(ROLLBACK);
1855 setState(1134);
1856 _la = _input.LA(1);
1857 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1858 _errHandler.recoverInline(this);
1859 }
1860 else {
1861 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1862 _errHandler.reportMatch(this);
1863 consume();
1864 }
1865 setState(1139);
1866 _errHandler.sync(this);
1867 switch ( getInterpreter().adaptivePredict(_input,12,_ctx) ) {
1868 case 1:
1869 {
1870 setState(1135);
1871 transactionName();
1872 }
1873 break;
1874 case 2:
1875 {
1876 setState(1136);
1877 transactionVariableName();
1878 }
1879 break;
1880 case 3:
1881 {
1882 setState(1137);
1883 savepointName();
1884 }
1885 break;
1886 case 4:
1887 {
1888 setState(1138);
1889 savepointVariableName();
1890 }
1891 break;
1892 }
1893 }
1894 }
1895 catch (RecognitionException re) {
1896 _localctx.exception = re;
1897 _errHandler.reportError(this, re);
1898 _errHandler.recover(this, re);
1899 }
1900 finally {
1901 exitRule();
1902 }
1903 return _localctx;
1904 }
1905
1906 public static class RollbackWorkContext extends ParserRuleContext {
1907 public TerminalNode ROLLBACK() { return getToken(SQLServerStatementParser.ROLLBACK, 0); }
1908 public TerminalNode WORK() { return getToken(SQLServerStatementParser.WORK, 0); }
1909 public RollbackWorkContext(ParserRuleContext parent, int invokingState) {
1910 super(parent, invokingState);
1911 }
1912 @Override public int getRuleIndex() { return RULE_rollbackWork; }
1913 @Override
1914 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1915 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRollbackWork(this);
1916 else return visitor.visitChildren(this);
1917 }
1918 }
1919
1920 public final RollbackWorkContext rollbackWork() throws RecognitionException {
1921 RollbackWorkContext _localctx = new RollbackWorkContext(_ctx, getState());
1922 enterRule(_localctx, 20, RULE_rollbackWork);
1923 int _la;
1924 try {
1925 enterOuterAlt(_localctx, 1);
1926 {
1927 setState(1141);
1928 match(ROLLBACK);
1929 setState(1143);
1930 _errHandler.sync(this);
1931 _la = _input.LA(1);
1932 if (_la==WORK) {
1933 {
1934 setState(1142);
1935 match(WORK);
1936 }
1937 }
1938
1939 }
1940 }
1941 catch (RecognitionException re) {
1942 _localctx.exception = re;
1943 _errHandler.reportError(this, re);
1944 _errHandler.recover(this, re);
1945 }
1946 finally {
1947 exitRule();
1948 }
1949 return _localctx;
1950 }
1951
1952 public static class SavepointContext extends ParserRuleContext {
1953 public TerminalNode SAVE() { return getToken(SQLServerStatementParser.SAVE, 0); }
1954 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1955 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1956 public SavepointNameContext savepointName() {
1957 return getRuleContext(SavepointNameContext.class,0);
1958 }
1959 public SavepointVariableNameContext savepointVariableName() {
1960 return getRuleContext(SavepointVariableNameContext.class,0);
1961 }
1962 public SavepointContext(ParserRuleContext parent, int invokingState) {
1963 super(parent, invokingState);
1964 }
1965 @Override public int getRuleIndex() { return RULE_savepoint; }
1966 @Override
1967 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1968 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSavepoint(this);
1969 else return visitor.visitChildren(this);
1970 }
1971 }
1972
1973 public final SavepointContext savepoint() throws RecognitionException {
1974 SavepointContext _localctx = new SavepointContext(_ctx, getState());
1975 enterRule(_localctx, 22, RULE_savepoint);
1976 int _la;
1977 try {
1978 enterOuterAlt(_localctx, 1);
1979 {
1980 setState(1145);
1981 match(SAVE);
1982 setState(1146);
1983 _la = _input.LA(1);
1984 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1985 _errHandler.recoverInline(this);
1986 }
1987 else {
1988 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1989 _errHandler.reportMatch(this);
1990 consume();
1991 }
1992 setState(1149);
1993 _errHandler.sync(this);
1994 switch ( getInterpreter().adaptivePredict(_input,14,_ctx) ) {
1995 case 1:
1996 {
1997 setState(1147);
1998 savepointName();
1999 }
2000 break;
2001 case 2:
2002 {
2003 setState(1148);
2004 savepointVariableName();
2005 }
2006 break;
2007 }
2008 }
2009 }
2010 catch (RecognitionException re) {
2011 _localctx.exception = re;
2012 _errHandler.reportError(this, re);
2013 _errHandler.recover(this, re);
2014 }
2015 finally {
2016 exitRule();
2017 }
2018 return _localctx;
2019 }
2020
2021 public static class ParameterMarkerContext extends ParserRuleContext {
2022 public TerminalNode QUESTION_() { return getToken(SQLServerStatementParser.QUESTION_, 0); }
2023 public ParameterMarkerContext(ParserRuleContext parent, int invokingState) {
2024 super(parent, invokingState);
2025 }
2026 @Override public int getRuleIndex() { return RULE_parameterMarker; }
2027 @Override
2028 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2029 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitParameterMarker(this);
2030 else return visitor.visitChildren(this);
2031 }
2032 }
2033
2034 public final ParameterMarkerContext parameterMarker() throws RecognitionException {
2035 ParameterMarkerContext _localctx = new ParameterMarkerContext(_ctx, getState());
2036 enterRule(_localctx, 24, RULE_parameterMarker);
2037 try {
2038 enterOuterAlt(_localctx, 1);
2039 {
2040 setState(1151);
2041 match(QUESTION_);
2042 }
2043 }
2044 catch (RecognitionException re) {
2045 _localctx.exception = re;
2046 _errHandler.reportError(this, re);
2047 _errHandler.recover(this, re);
2048 }
2049 finally {
2050 exitRule();
2051 }
2052 return _localctx;
2053 }
2054
2055 public static class LiteralsContext extends ParserRuleContext {
2056 public StringLiteralsContext stringLiterals() {
2057 return getRuleContext(StringLiteralsContext.class,0);
2058 }
2059 public NumberLiteralsContext numberLiterals() {
2060 return getRuleContext(NumberLiteralsContext.class,0);
2061 }
2062 public DateTimeLiteralsContext dateTimeLiterals() {
2063 return getRuleContext(DateTimeLiteralsContext.class,0);
2064 }
2065 public HexadecimalLiteralsContext hexadecimalLiterals() {
2066 return getRuleContext(HexadecimalLiteralsContext.class,0);
2067 }
2068 public BitValueLiteralsContext bitValueLiterals() {
2069 return getRuleContext(BitValueLiteralsContext.class,0);
2070 }
2071 public BooleanLiteralsContext booleanLiterals() {
2072 return getRuleContext(BooleanLiteralsContext.class,0);
2073 }
2074 public NullValueLiteralsContext nullValueLiterals() {
2075 return getRuleContext(NullValueLiteralsContext.class,0);
2076 }
2077 public LiteralsContext(ParserRuleContext parent, int invokingState) {
2078 super(parent, invokingState);
2079 }
2080 @Override public int getRuleIndex() { return RULE_literals; }
2081 @Override
2082 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2083 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitLiterals(this);
2084 else return visitor.visitChildren(this);
2085 }
2086 }
2087
2088 public final LiteralsContext literals() throws RecognitionException {
2089 LiteralsContext _localctx = new LiteralsContext(_ctx, getState());
2090 enterRule(_localctx, 26, RULE_literals);
2091 try {
2092 setState(1160);
2093 _errHandler.sync(this);
2094 switch (_input.LA(1)) {
2095 case STRING_:
2096 case NCHAR_TEXT:
2097 enterOuterAlt(_localctx, 1);
2098 {
2099 setState(1153);
2100 stringLiterals();
2101 }
2102 break;
2103 case PLUS_:
2104 case MINUS_:
2105 case NUMBER_:
2106 enterOuterAlt(_localctx, 2);
2107 {
2108 setState(1154);
2109 numberLiterals();
2110 }
2111 break;
2112 case LBE_:
2113 case DATE:
2114 case TIME:
2115 case TIMESTAMP:
2116 enterOuterAlt(_localctx, 3);
2117 {
2118 setState(1155);
2119 dateTimeLiterals();
2120 }
2121 break;
2122 case HEX_DIGIT_:
2123 enterOuterAlt(_localctx, 4);
2124 {
2125 setState(1156);
2126 hexadecimalLiterals();
2127 }
2128 break;
2129 case BIT_NUM_:
2130 enterOuterAlt(_localctx, 5);
2131 {
2132 setState(1157);
2133 bitValueLiterals();
2134 }
2135 break;
2136 case TRUE:
2137 case FALSE:
2138 enterOuterAlt(_localctx, 6);
2139 {
2140 setState(1158);
2141 booleanLiterals();
2142 }
2143 break;
2144 case NULL:
2145 enterOuterAlt(_localctx, 7);
2146 {
2147 setState(1159);
2148 nullValueLiterals();
2149 }
2150 break;
2151 default:
2152 throw new NoViableAltException(this);
2153 }
2154 }
2155 catch (RecognitionException re) {
2156 _localctx.exception = re;
2157 _errHandler.reportError(this, re);
2158 _errHandler.recover(this, re);
2159 }
2160 finally {
2161 exitRule();
2162 }
2163 return _localctx;
2164 }
2165
2166 public static class StringLiteralsContext extends ParserRuleContext {
2167 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
2168 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
2169 public StringLiteralsContext(ParserRuleContext parent, int invokingState) {
2170 super(parent, invokingState);
2171 }
2172 @Override public int getRuleIndex() { return RULE_stringLiterals; }
2173 @Override
2174 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2175 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStringLiterals(this);
2176 else return visitor.visitChildren(this);
2177 }
2178 }
2179
2180 public final StringLiteralsContext stringLiterals() throws RecognitionException {
2181 StringLiteralsContext _localctx = new StringLiteralsContext(_ctx, getState());
2182 enterRule(_localctx, 28, RULE_stringLiterals);
2183 int _la;
2184 try {
2185 enterOuterAlt(_localctx, 1);
2186 {
2187 setState(1162);
2188 _la = _input.LA(1);
2189 if ( !(_la==STRING_ || _la==NCHAR_TEXT) ) {
2190 _errHandler.recoverInline(this);
2191 }
2192 else {
2193 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2194 _errHandler.reportMatch(this);
2195 consume();
2196 }
2197 }
2198 }
2199 catch (RecognitionException re) {
2200 _localctx.exception = re;
2201 _errHandler.reportError(this, re);
2202 _errHandler.recover(this, re);
2203 }
2204 finally {
2205 exitRule();
2206 }
2207 return _localctx;
2208 }
2209
2210 public static class NumberLiteralsContext extends ParserRuleContext {
2211 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
2212 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
2213 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
2214 public NumberLiteralsContext(ParserRuleContext parent, int invokingState) {
2215 super(parent, invokingState);
2216 }
2217 @Override public int getRuleIndex() { return RULE_numberLiterals; }
2218 @Override
2219 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2220 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNumberLiterals(this);
2221 else return visitor.visitChildren(this);
2222 }
2223 }
2224
2225 public final NumberLiteralsContext numberLiterals() throws RecognitionException {
2226 NumberLiteralsContext _localctx = new NumberLiteralsContext(_ctx, getState());
2227 enterRule(_localctx, 30, RULE_numberLiterals);
2228 int _la;
2229 try {
2230 enterOuterAlt(_localctx, 1);
2231 {
2232 setState(1165);
2233 _errHandler.sync(this);
2234 _la = _input.LA(1);
2235 if (_la==PLUS_ || _la==MINUS_) {
2236 {
2237 setState(1164);
2238 _la = _input.LA(1);
2239 if ( !(_la==PLUS_ || _la==MINUS_) ) {
2240 _errHandler.recoverInline(this);
2241 }
2242 else {
2243 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2244 _errHandler.reportMatch(this);
2245 consume();
2246 }
2247 }
2248 }
2249
2250 setState(1167);
2251 match(NUMBER_);
2252 }
2253 }
2254 catch (RecognitionException re) {
2255 _localctx.exception = re;
2256 _errHandler.reportError(this, re);
2257 _errHandler.recover(this, re);
2258 }
2259 finally {
2260 exitRule();
2261 }
2262 return _localctx;
2263 }
2264
2265 public static class DateTimeLiteralsContext extends ParserRuleContext {
2266 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
2267 public TerminalNode DATE() { return getToken(SQLServerStatementParser.DATE, 0); }
2268 public TerminalNode TIME() { return getToken(SQLServerStatementParser.TIME, 0); }
2269 public TerminalNode TIMESTAMP() { return getToken(SQLServerStatementParser.TIMESTAMP, 0); }
2270 public TerminalNode LBE_() { return getToken(SQLServerStatementParser.LBE_, 0); }
2271 public IdentifierContext identifier() {
2272 return getRuleContext(IdentifierContext.class,0);
2273 }
2274 public TerminalNode RBE_() { return getToken(SQLServerStatementParser.RBE_, 0); }
2275 public DateTimeLiteralsContext(ParserRuleContext parent, int invokingState) {
2276 super(parent, invokingState);
2277 }
2278 @Override public int getRuleIndex() { return RULE_dateTimeLiterals; }
2279 @Override
2280 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2281 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDateTimeLiterals(this);
2282 else return visitor.visitChildren(this);
2283 }
2284 }
2285
2286 public final DateTimeLiteralsContext dateTimeLiterals() throws RecognitionException {
2287 DateTimeLiteralsContext _localctx = new DateTimeLiteralsContext(_ctx, getState());
2288 enterRule(_localctx, 32, RULE_dateTimeLiterals);
2289 int _la;
2290 try {
2291 setState(1176);
2292 _errHandler.sync(this);
2293 switch (_input.LA(1)) {
2294 case DATE:
2295 case TIME:
2296 case TIMESTAMP:
2297 enterOuterAlt(_localctx, 1);
2298 {
2299 setState(1169);
2300 _la = _input.LA(1);
2301 if ( !(((((_la - 135)) & ~0x3f) == 0 && ((1L << (_la - 135)) & ((1L << (DATE - 135)) | (1L << (TIME - 135)) | (1L << (TIMESTAMP - 135)))) != 0)) ) {
2302 _errHandler.recoverInline(this);
2303 }
2304 else {
2305 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2306 _errHandler.reportMatch(this);
2307 consume();
2308 }
2309 setState(1170);
2310 match(STRING_);
2311 }
2312 break;
2313 case LBE_:
2314 enterOuterAlt(_localctx, 2);
2315 {
2316 setState(1171);
2317 match(LBE_);
2318 setState(1172);
2319 identifier();
2320 setState(1173);
2321 match(STRING_);
2322 setState(1174);
2323 match(RBE_);
2324 }
2325 break;
2326 default:
2327 throw new NoViableAltException(this);
2328 }
2329 }
2330 catch (RecognitionException re) {
2331 _localctx.exception = re;
2332 _errHandler.reportError(this, re);
2333 _errHandler.recover(this, re);
2334 }
2335 finally {
2336 exitRule();
2337 }
2338 return _localctx;
2339 }
2340
2341 public static class HexadecimalLiteralsContext extends ParserRuleContext {
2342 public TerminalNode HEX_DIGIT_() { return getToken(SQLServerStatementParser.HEX_DIGIT_, 0); }
2343 public HexadecimalLiteralsContext(ParserRuleContext parent, int invokingState) {
2344 super(parent, invokingState);
2345 }
2346 @Override public int getRuleIndex() { return RULE_hexadecimalLiterals; }
2347 @Override
2348 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2349 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHexadecimalLiterals(this);
2350 else return visitor.visitChildren(this);
2351 }
2352 }
2353
2354 public final HexadecimalLiteralsContext hexadecimalLiterals() throws RecognitionException {
2355 HexadecimalLiteralsContext _localctx = new HexadecimalLiteralsContext(_ctx, getState());
2356 enterRule(_localctx, 34, RULE_hexadecimalLiterals);
2357 try {
2358 enterOuterAlt(_localctx, 1);
2359 {
2360 setState(1178);
2361 match(HEX_DIGIT_);
2362 }
2363 }
2364 catch (RecognitionException re) {
2365 _localctx.exception = re;
2366 _errHandler.reportError(this, re);
2367 _errHandler.recover(this, re);
2368 }
2369 finally {
2370 exitRule();
2371 }
2372 return _localctx;
2373 }
2374
2375 public static class BitValueLiteralsContext extends ParserRuleContext {
2376 public TerminalNode BIT_NUM_() { return getToken(SQLServerStatementParser.BIT_NUM_, 0); }
2377 public BitValueLiteralsContext(ParserRuleContext parent, int invokingState) {
2378 super(parent, invokingState);
2379 }
2380 @Override public int getRuleIndex() { return RULE_bitValueLiterals; }
2381 @Override
2382 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2383 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBitValueLiterals(this);
2384 else return visitor.visitChildren(this);
2385 }
2386 }
2387
2388 public final BitValueLiteralsContext bitValueLiterals() throws RecognitionException {
2389 BitValueLiteralsContext _localctx = new BitValueLiteralsContext(_ctx, getState());
2390 enterRule(_localctx, 36, RULE_bitValueLiterals);
2391 try {
2392 enterOuterAlt(_localctx, 1);
2393 {
2394 setState(1180);
2395 match(BIT_NUM_);
2396 }
2397 }
2398 catch (RecognitionException re) {
2399 _localctx.exception = re;
2400 _errHandler.reportError(this, re);
2401 _errHandler.recover(this, re);
2402 }
2403 finally {
2404 exitRule();
2405 }
2406 return _localctx;
2407 }
2408
2409 public static class BooleanLiteralsContext extends ParserRuleContext {
2410 public TerminalNode TRUE() { return getToken(SQLServerStatementParser.TRUE, 0); }
2411 public TerminalNode FALSE() { return getToken(SQLServerStatementParser.FALSE, 0); }
2412 public BooleanLiteralsContext(ParserRuleContext parent, int invokingState) {
2413 super(parent, invokingState);
2414 }
2415 @Override public int getRuleIndex() { return RULE_booleanLiterals; }
2416 @Override
2417 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2418 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBooleanLiterals(this);
2419 else return visitor.visitChildren(this);
2420 }
2421 }
2422
2423 public final BooleanLiteralsContext booleanLiterals() throws RecognitionException {
2424 BooleanLiteralsContext _localctx = new BooleanLiteralsContext(_ctx, getState());
2425 enterRule(_localctx, 38, RULE_booleanLiterals);
2426 int _la;
2427 try {
2428 enterOuterAlt(_localctx, 1);
2429 {
2430 setState(1182);
2431 _la = _input.LA(1);
2432 if ( !(_la==TRUE || _la==FALSE) ) {
2433 _errHandler.recoverInline(this);
2434 }
2435 else {
2436 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2437 _errHandler.reportMatch(this);
2438 consume();
2439 }
2440 }
2441 }
2442 catch (RecognitionException re) {
2443 _localctx.exception = re;
2444 _errHandler.reportError(this, re);
2445 _errHandler.recover(this, re);
2446 }
2447 finally {
2448 exitRule();
2449 }
2450 return _localctx;
2451 }
2452
2453 public static class NullValueLiteralsContext extends ParserRuleContext {
2454 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
2455 public NullValueLiteralsContext(ParserRuleContext parent, int invokingState) {
2456 super(parent, invokingState);
2457 }
2458 @Override public int getRuleIndex() { return RULE_nullValueLiterals; }
2459 @Override
2460 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2461 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNullValueLiterals(this);
2462 else return visitor.visitChildren(this);
2463 }
2464 }
2465
2466 public final NullValueLiteralsContext nullValueLiterals() throws RecognitionException {
2467 NullValueLiteralsContext _localctx = new NullValueLiteralsContext(_ctx, getState());
2468 enterRule(_localctx, 40, RULE_nullValueLiterals);
2469 try {
2470 enterOuterAlt(_localctx, 1);
2471 {
2472 setState(1184);
2473 match(NULL);
2474 }
2475 }
2476 catch (RecognitionException re) {
2477 _localctx.exception = re;
2478 _errHandler.reportError(this, re);
2479 _errHandler.recover(this, re);
2480 }
2481 finally {
2482 exitRule();
2483 }
2484 return _localctx;
2485 }
2486
2487 public static class IdentifierContext extends ParserRuleContext {
2488 public RegularIdentifierContext regularIdentifier() {
2489 return getRuleContext(RegularIdentifierContext.class,0);
2490 }
2491 public DelimitedIdentifierContext delimitedIdentifier() {
2492 return getRuleContext(DelimitedIdentifierContext.class,0);
2493 }
2494 public IdentifierContext(ParserRuleContext parent, int invokingState) {
2495 super(parent, invokingState);
2496 }
2497 @Override public int getRuleIndex() { return RULE_identifier; }
2498 @Override
2499 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2500 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIdentifier(this);
2501 else return visitor.visitChildren(this);
2502 }
2503 }
2504
2505 public final IdentifierContext identifier() throws RecognitionException {
2506 IdentifierContext _localctx = new IdentifierContext(_ctx, getState());
2507 enterRule(_localctx, 42, RULE_identifier);
2508 try {
2509 setState(1188);
2510 _errHandler.sync(this);
2511 switch (_input.LA(1)) {
2512 case TRUNCATE:
2513 case SCHEMA:
2514 case COLUMNS:
2515 case PRECISION:
2516 case FUNCTION:
2517 case TRIGGER:
2518 case CAST:
2519 case TRIM:
2520 case SUBSTRING:
2521 case OFF:
2522 case GROUP:
2523 case LIMIT:
2524 case OFFSET:
2525 case SAVEPOINT:
2526 case BOOLEAN:
2527 case ARRAY:
2528 case DATE:
2529 case TIMESTAMP:
2530 case LOCALTIME:
2531 case LOCALTIMESTAMP:
2532 case YEAR:
2533 case QUARTER:
2534 case MONTH:
2535 case WEEK:
2536 case DAY:
2537 case SECOND:
2538 case MICROSECOND:
2539 case MAX:
2540 case MIN:
2541 case SUM:
2542 case COUNT:
2543 case AVG:
2544 case ENABLE:
2545 case DISABLE:
2546 case INSTANCE:
2547 case DO:
2548 case DEFINER:
2549 case SQL:
2550 case CASCADED:
2551 case LOCAL:
2552 case NEXT:
2553 case NAME:
2554 case INTEGER:
2555 case TYPE:
2556 case TEXT:
2557 case VIEWS:
2558 case READ_ONLY:
2559 case DATABASE:
2560 case RETURNS:
2561 case DATEPART:
2562 case PASSWORD:
2563 case BINARY:
2564 case HIDDEN_:
2565 case MOD:
2566 case PARTITION:
2567 case PARTITIONS:
2568 case TOP:
2569 case ROW:
2570 case ROWS:
2571 case XOR:
2572 case ALWAYS:
2573 case ROLE:
2574 case START:
2575 case ALGORITHM:
2576 case AUTO:
2577 case BLOCKERS:
2578 case CLUSTERED:
2579 case NONCLUSTERED:
2580 case COLUMNSTORE:
2581 case CONTENT:
2582 case YEARS:
2583 case MONTHS:
2584 case WEEKS:
2585 case DAYS:
2586 case MINUTES:
2587 case DENY:
2588 case DETERMINISTIC:
2589 case DISTRIBUTION:
2590 case DOCUMENT:
2591 case DURABILITY:
2592 case ENCRYPTED:
2593 case FILESTREAM:
2594 case FILETABLE:
2595 case FILLFACTOR:
2596 case FOLLOWING:
2597 case HASH:
2598 case HEAP:
2599 case INBOUND:
2600 case OUTBOUND:
2601 case UNBOUNDED:
2602 case INFINITE:
2603 case LOGIN:
2604 case MASKED:
2605 case MAXDOP:
2606 case MOVE:
2607 case NOCHECK:
2608 case OBJECT:
2609 case ONLINE:
2610 case OVER:
2611 case PAGE:
2612 case PAUSED:
2613 case PERIOD:
2614 case PERSISTED:
2615 case PRECEDING:
2616 case RANDOMIZED:
2617 case RANGE:
2618 case REBUILD:
2619 case REPLICATE:
2620 case REPLICATION:
2621 case RESUMABLE:
2622 case ROWGUIDCOL:
2623 case SAVE:
2624 case SELF:
2625 case SPARSE:
2626 case SWITCH:
2627 case TRAN:
2628 case TRANCOUNT:
2629 case CONTROL:
2630 case CONCAT:
2631 case TAKE:
2632 case OWNERSHIP:
2633 case DEFINITION:
2634 case APPLICATION:
2635 case ASSEMBLY:
2636 case SYMMETRIC:
2637 case ASYMMETRIC:
2638 case SERVER:
2639 case RECEIVE:
2640 case CHANGE:
2641 case TRACE:
2642 case TRACKING:
2643 case RESOURCES:
2644 case SETTINGS:
2645 case STATE:
2646 case AVAILABILITY:
2647 case CREDENTIAL:
2648 case ENDPOINT:
2649 case EVENT:
2650 case NOTIFICATION:
2651 case LINKED:
2652 case AUDIT:
2653 case DDL:
2654 case XML:
2655 case IMPERSONATE:
2656 case SECURABLES:
2657 case AUTHENTICATE:
2658 case EXTERNAL:
2659 case ACCESS:
2660 case ADMINISTER:
2661 case BULK:
2662 case OPERATIONS:
2663 case UNSAFE:
2664 case SHUTDOWN:
2665 case SCOPED:
2666 case CONFIGURATION:
2667 case DATASPACE:
2668 case SERVICE:
2669 case CERTIFICATE:
2670 case CONTRACT:
2671 case ENCRYPTION:
2672 case MASTER:
2673 case DATA:
2674 case SOURCE:
2675 case FILE:
2676 case FORMAT:
2677 case LIBRARY:
2678 case FULLTEXT:
2679 case MASK:
2680 case UNMASK:
2681 case MESSAGE:
2682 case REMOTE:
2683 case BINDING:
2684 case ROUTE:
2685 case SECURITY:
2686 case POLICY:
2687 case AGGREGATE:
2688 case QUEUE:
2689 case RULE:
2690 case SYNONYM:
2691 case COLLECTION:
2692 case SCRIPT:
2693 case KILL:
2694 case BACKUP:
2695 case LOG:
2696 case SHOWPLAN:
2697 case SUBSCRIBE:
2698 case QUERY:
2699 case NOTIFICATIONS:
2700 case CHECKPOINT:
2701 case SEQUENCE:
2702 case ABORT_AFTER_WAIT:
2703 case ALLOW_PAGE_LOCKS:
2704 case ALLOW_ROW_LOCKS:
2705 case ALL_SPARSE_COLUMNS:
2706 case BUCKET_COUNT:
2707 case COLUMNSTORE_ARCHIVE:
2708 case COLUMN_ENCRYPTION_KEY:
2709 case COLUMN_SET:
2710 case COMPRESSION_DELAY:
2711 case DATABASE_DEAULT:
2712 case DATA_COMPRESSION:
2713 case DATA_CONSISTENCY_CHECK:
2714 case ENCRYPTION_TYPE:
2715 case SYSTEM_TIME:
2716 case SYSTEM_VERSIONING:
2717 case TEXTIMAGE_ON:
2718 case WAIT_AT_LOW_PRIORITY:
2719 case STATISTICS_INCREMENTAL:
2720 case STATISTICS_NORECOMPUTE:
2721 case ROUND_ROBIN:
2722 case SCHEMA_AND_DATA:
2723 case SCHEMA_ONLY:
2724 case SORT_IN_TEMPDB:
2725 case IGNORE_DUP_KEY:
2726 case IMPLICIT_TRANSACTIONS:
2727 case MAX_DURATION:
2728 case MEMORY_OPTIMIZED:
2729 case MIGRATION_STATE:
2730 case PAD_INDEX:
2731 case REMOTE_DATA_ARCHIVE:
2732 case FILESTREAM_ON:
2733 case FILETABLE_COLLATE_FILENAME:
2734 case FILETABLE_DIRECTORY:
2735 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
2736 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
2737 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
2738 case FILTER_PREDICATE:
2739 case HISTORY_RETENTION_PERIOD:
2740 case HISTORY_TABLE:
2741 case LOCK_ESCALATION:
2742 case DROP_EXISTING:
2743 case ROW_NUMBER:
2744 case FIRST:
2745 case DATETIME2:
2746 case OUTPUT:
2747 case INSERTED:
2748 case DELETED:
2749 case FILENAME:
2750 case SIZE:
2751 case MAXSIZE:
2752 case FILEGROWTH:
2753 case UNLIMITED:
2754 case KB:
2755 case MB:
2756 case GB:
2757 case TB:
2758 case CONTAINS:
2759 case MEMORY_OPTIMIZED_DATA:
2760 case FILEGROUP:
2761 case NON_TRANSACTED_ACCESS:
2762 case DB_CHAINING:
2763 case TRUSTWORTHY:
2764 case FORWARD_ONLY:
2765 case KEYSET:
2766 case FAST_FORWARD:
2767 case SCROLL_LOCKS:
2768 case OPTIMISTIC:
2769 case TYPE_WARNING:
2770 case SCHEMABINDING:
2771 case CALLER:
2772 case INPUT:
2773 case OWNER:
2774 case SNAPSHOT:
2775 case REPEATABLE:
2776 case SERIALIZABLE:
2777 case NATIVE_COMPILATION:
2778 case VIEW_METADATA:
2779 case INSTEAD:
2780 case APPEND:
2781 case INCREMENT:
2782 case CACHE:
2783 case MINVALUE:
2784 case MAXVALUE:
2785 case RESTART:
2786 case LOB_COMPACTION:
2787 case COMPRESS_ALL_ROW_GROUPS:
2788 case REORGANIZE:
2789 case RESUME:
2790 case PAUSE:
2791 case ABORT:
2792 case ACCELERATED_DATABASE_RECOVERY:
2793 case PERSISTENT_VERSION_STORE_FILEGROUP:
2794 case IMMEDIATE:
2795 case NO_WAIT:
2796 case TARGET_RECOVERY_TIME:
2797 case SECONDS:
2798 case HONOR_BROKER_PRIORITY:
2799 case ERROR_BROKER_CONVERSATIONS:
2800 case NEW_BROKER:
2801 case DISABLE_BROKER:
2802 case ENABLE_BROKER:
2803 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
2804 case READ_COMMITTED_SNAPSHOT:
2805 case ALLOW_SNAPSHOT_ISOLATION:
2806 case RECURSIVE_TRIGGERS:
2807 case QUOTED_IDENTIFIER:
2808 case NUMERIC_ROUNDABORT:
2809 case CONCAT_NULL_YIELDS_NULL:
2810 case COMPATIBILITY_LEVEL:
2811 case ARITHABORT:
2812 case ANSI_WARNINGS:
2813 case ANSI_PADDING:
2814 case ANSI_NULLS:
2815 case ANSI_NULL_DEFAULT:
2816 case PAGE_VERIFY:
2817 case CHECKSUM:
2818 case TORN_PAGE_DETECTION:
2819 case BULK_LOGGED:
2820 case RECOVERY:
2821 case TOTAL_EXECUTION_CPU_TIME_MS:
2822 case TOTAL_COMPILE_CPU_TIME_MS:
2823 case STALE_CAPTURE_POLICY_THRESHOLD:
2824 case EXECUTION_COUNT:
2825 case QUERY_CAPTURE_POLICY:
2826 case WAIT_STATS_CAPTURE_MODE:
2827 case MAX_PLANS_PER_QUERY:
2828 case QUERY_CAPTURE_MODE:
2829 case SIZE_BASED_CLEANUP_MODE:
2830 case INTERVAL_LENGTH_MINUTES:
2831 case MAX_STORAGE_SIZE_MB:
2832 case DATA_FLUSH_INTERVAL_SECONDS:
2833 case CLEANUP_POLICY:
2834 case CUSTOM:
2835 case STALE_QUERY_THRESHOLD_DAYS:
2836 case OPERATION_MODE:
2837 case QUERY_STORE:
2838 case CURSOR_DEFAULT:
2839 case GLOBAL:
2840 case CURSOR_CLOSE_ON_COMMIT:
2841 case HOURS:
2842 case CHANGE_RETENTION:
2843 case AUTO_CLEANUP:
2844 case CHANGE_TRACKING:
2845 case AUTOMATIC_TUNING:
2846 case FORCE_LAST_GOOD_PLAN:
2847 case AUTO_UPDATE_STATISTICS_ASYNC:
2848 case AUTO_UPDATE_STATISTICS:
2849 case AUTO_SHRINK:
2850 case AUTO_CREATE_STATISTICS:
2851 case INCREMENTAL:
2852 case AUTO_CLOSE:
2853 case DATA_RETENTION:
2854 case TEMPORAL_HISTORY_RETENTION:
2855 case EDITION:
2856 case MIXED_PAGE_ALLOCATION:
2857 case DISABLED:
2858 case ALLOWED:
2859 case HADR:
2860 case MULTI_USER:
2861 case RESTRICTED_USER:
2862 case SINGLE_USER:
2863 case OFFLINE:
2864 case EMERGENCY:
2865 case SUSPEND:
2866 case DATE_CORRELATION_OPTIMIZATION:
2867 case ELASTIC_POOL:
2868 case SERVICE_OBJECTIVE:
2869 case DATABASE_NAME:
2870 case ALLOW_CONNECTIONS:
2871 case GEO:
2872 case NAMED:
2873 case DATEFIRST:
2874 case BACKUP_STORAGE_REDUNDANCY:
2875 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
2876 case SECONDARY:
2877 case FAILOVER:
2878 case DEFAULT_FULLTEXT_LANGUAGE:
2879 case DEFAULT_LANGUAGE:
2880 case INLINE:
2881 case NESTED_TRIGGERS:
2882 case TRANSFORM_NOISE_WORDS:
2883 case TWO_DIGIT_YEAR_CUTOFF:
2884 case PERSISTENT_LOG_BUFFER:
2885 case DIRECTORY_NAME:
2886 case DATEFORMAT:
2887 case DELAYED_DURABILITY:
2888 case AUTHORIZATION:
2889 case TRANSFER:
2890 case PROVIDER:
2891 case SEARCH:
2892 case MEMBER:
2893 case IDENTIFIER_:
2894 enterOuterAlt(_localctx, 1);
2895 {
2896 setState(1186);
2897 regularIdentifier();
2898 }
2899 break;
2900 case DELIMITED_IDENTIFIER_:
2901 enterOuterAlt(_localctx, 2);
2902 {
2903 setState(1187);
2904 delimitedIdentifier();
2905 }
2906 break;
2907 default:
2908 throw new NoViableAltException(this);
2909 }
2910 }
2911 catch (RecognitionException re) {
2912 _localctx.exception = re;
2913 _errHandler.reportError(this, re);
2914 _errHandler.recover(this, re);
2915 }
2916 finally {
2917 exitRule();
2918 }
2919 return _localctx;
2920 }
2921
2922 public static class RegularIdentifierContext extends ParserRuleContext {
2923 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
2924 public UnreservedWordContext unreservedWord() {
2925 return getRuleContext(UnreservedWordContext.class,0);
2926 }
2927 public RegularIdentifierContext(ParserRuleContext parent, int invokingState) {
2928 super(parent, invokingState);
2929 }
2930 @Override public int getRuleIndex() { return RULE_regularIdentifier; }
2931 @Override
2932 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2933 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRegularIdentifier(this);
2934 else return visitor.visitChildren(this);
2935 }
2936 }
2937
2938 public final RegularIdentifierContext regularIdentifier() throws RecognitionException {
2939 RegularIdentifierContext _localctx = new RegularIdentifierContext(_ctx, getState());
2940 enterRule(_localctx, 44, RULE_regularIdentifier);
2941 try {
2942 setState(1192);
2943 _errHandler.sync(this);
2944 switch (_input.LA(1)) {
2945 case IDENTIFIER_:
2946 enterOuterAlt(_localctx, 1);
2947 {
2948 setState(1190);
2949 match(IDENTIFIER_);
2950 }
2951 break;
2952 case TRUNCATE:
2953 case SCHEMA:
2954 case COLUMNS:
2955 case PRECISION:
2956 case FUNCTION:
2957 case TRIGGER:
2958 case CAST:
2959 case TRIM:
2960 case SUBSTRING:
2961 case OFF:
2962 case GROUP:
2963 case LIMIT:
2964 case OFFSET:
2965 case SAVEPOINT:
2966 case BOOLEAN:
2967 case ARRAY:
2968 case DATE:
2969 case TIMESTAMP:
2970 case LOCALTIME:
2971 case LOCALTIMESTAMP:
2972 case YEAR:
2973 case QUARTER:
2974 case MONTH:
2975 case WEEK:
2976 case DAY:
2977 case SECOND:
2978 case MICROSECOND:
2979 case MAX:
2980 case MIN:
2981 case SUM:
2982 case COUNT:
2983 case AVG:
2984 case ENABLE:
2985 case DISABLE:
2986 case INSTANCE:
2987 case DO:
2988 case DEFINER:
2989 case SQL:
2990 case CASCADED:
2991 case LOCAL:
2992 case NEXT:
2993 case NAME:
2994 case INTEGER:
2995 case TYPE:
2996 case TEXT:
2997 case VIEWS:
2998 case READ_ONLY:
2999 case DATABASE:
3000 case RETURNS:
3001 case DATEPART:
3002 case PASSWORD:
3003 case BINARY:
3004 case HIDDEN_:
3005 case MOD:
3006 case PARTITION:
3007 case PARTITIONS:
3008 case TOP:
3009 case ROW:
3010 case ROWS:
3011 case XOR:
3012 case ALWAYS:
3013 case ROLE:
3014 case START:
3015 case ALGORITHM:
3016 case AUTO:
3017 case BLOCKERS:
3018 case CLUSTERED:
3019 case NONCLUSTERED:
3020 case COLUMNSTORE:
3021 case CONTENT:
3022 case YEARS:
3023 case MONTHS:
3024 case WEEKS:
3025 case DAYS:
3026 case MINUTES:
3027 case DENY:
3028 case DETERMINISTIC:
3029 case DISTRIBUTION:
3030 case DOCUMENT:
3031 case DURABILITY:
3032 case ENCRYPTED:
3033 case FILESTREAM:
3034 case FILETABLE:
3035 case FILLFACTOR:
3036 case FOLLOWING:
3037 case HASH:
3038 case HEAP:
3039 case INBOUND:
3040 case OUTBOUND:
3041 case UNBOUNDED:
3042 case INFINITE:
3043 case LOGIN:
3044 case MASKED:
3045 case MAXDOP:
3046 case MOVE:
3047 case NOCHECK:
3048 case OBJECT:
3049 case ONLINE:
3050 case OVER:
3051 case PAGE:
3052 case PAUSED:
3053 case PERIOD:
3054 case PERSISTED:
3055 case PRECEDING:
3056 case RANDOMIZED:
3057 case RANGE:
3058 case REBUILD:
3059 case REPLICATE:
3060 case REPLICATION:
3061 case RESUMABLE:
3062 case ROWGUIDCOL:
3063 case SAVE:
3064 case SELF:
3065 case SPARSE:
3066 case SWITCH:
3067 case TRAN:
3068 case TRANCOUNT:
3069 case CONTROL:
3070 case CONCAT:
3071 case TAKE:
3072 case OWNERSHIP:
3073 case DEFINITION:
3074 case APPLICATION:
3075 case ASSEMBLY:
3076 case SYMMETRIC:
3077 case ASYMMETRIC:
3078 case SERVER:
3079 case RECEIVE:
3080 case CHANGE:
3081 case TRACE:
3082 case TRACKING:
3083 case RESOURCES:
3084 case SETTINGS:
3085 case STATE:
3086 case AVAILABILITY:
3087 case CREDENTIAL:
3088 case ENDPOINT:
3089 case EVENT:
3090 case NOTIFICATION:
3091 case LINKED:
3092 case AUDIT:
3093 case DDL:
3094 case XML:
3095 case IMPERSONATE:
3096 case SECURABLES:
3097 case AUTHENTICATE:
3098 case EXTERNAL:
3099 case ACCESS:
3100 case ADMINISTER:
3101 case BULK:
3102 case OPERATIONS:
3103 case UNSAFE:
3104 case SHUTDOWN:
3105 case SCOPED:
3106 case CONFIGURATION:
3107 case DATASPACE:
3108 case SERVICE:
3109 case CERTIFICATE:
3110 case CONTRACT:
3111 case ENCRYPTION:
3112 case MASTER:
3113 case DATA:
3114 case SOURCE:
3115 case FILE:
3116 case FORMAT:
3117 case LIBRARY:
3118 case FULLTEXT:
3119 case MASK:
3120 case UNMASK:
3121 case MESSAGE:
3122 case REMOTE:
3123 case BINDING:
3124 case ROUTE:
3125 case SECURITY:
3126 case POLICY:
3127 case AGGREGATE:
3128 case QUEUE:
3129 case RULE:
3130 case SYNONYM:
3131 case COLLECTION:
3132 case SCRIPT:
3133 case KILL:
3134 case BACKUP:
3135 case LOG:
3136 case SHOWPLAN:
3137 case SUBSCRIBE:
3138 case QUERY:
3139 case NOTIFICATIONS:
3140 case CHECKPOINT:
3141 case SEQUENCE:
3142 case ABORT_AFTER_WAIT:
3143 case ALLOW_PAGE_LOCKS:
3144 case ALLOW_ROW_LOCKS:
3145 case ALL_SPARSE_COLUMNS:
3146 case BUCKET_COUNT:
3147 case COLUMNSTORE_ARCHIVE:
3148 case COLUMN_ENCRYPTION_KEY:
3149 case COLUMN_SET:
3150 case COMPRESSION_DELAY:
3151 case DATABASE_DEAULT:
3152 case DATA_COMPRESSION:
3153 case DATA_CONSISTENCY_CHECK:
3154 case ENCRYPTION_TYPE:
3155 case SYSTEM_TIME:
3156 case SYSTEM_VERSIONING:
3157 case TEXTIMAGE_ON:
3158 case WAIT_AT_LOW_PRIORITY:
3159 case STATISTICS_INCREMENTAL:
3160 case STATISTICS_NORECOMPUTE:
3161 case ROUND_ROBIN:
3162 case SCHEMA_AND_DATA:
3163 case SCHEMA_ONLY:
3164 case SORT_IN_TEMPDB:
3165 case IGNORE_DUP_KEY:
3166 case IMPLICIT_TRANSACTIONS:
3167 case MAX_DURATION:
3168 case MEMORY_OPTIMIZED:
3169 case MIGRATION_STATE:
3170 case PAD_INDEX:
3171 case REMOTE_DATA_ARCHIVE:
3172 case FILESTREAM_ON:
3173 case FILETABLE_COLLATE_FILENAME:
3174 case FILETABLE_DIRECTORY:
3175 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
3176 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
3177 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
3178 case FILTER_PREDICATE:
3179 case HISTORY_RETENTION_PERIOD:
3180 case HISTORY_TABLE:
3181 case LOCK_ESCALATION:
3182 case DROP_EXISTING:
3183 case ROW_NUMBER:
3184 case FIRST:
3185 case DATETIME2:
3186 case OUTPUT:
3187 case INSERTED:
3188 case DELETED:
3189 case FILENAME:
3190 case SIZE:
3191 case MAXSIZE:
3192 case FILEGROWTH:
3193 case UNLIMITED:
3194 case KB:
3195 case MB:
3196 case GB:
3197 case TB:
3198 case CONTAINS:
3199 case MEMORY_OPTIMIZED_DATA:
3200 case FILEGROUP:
3201 case NON_TRANSACTED_ACCESS:
3202 case DB_CHAINING:
3203 case TRUSTWORTHY:
3204 case FORWARD_ONLY:
3205 case KEYSET:
3206 case FAST_FORWARD:
3207 case SCROLL_LOCKS:
3208 case OPTIMISTIC:
3209 case TYPE_WARNING:
3210 case SCHEMABINDING:
3211 case CALLER:
3212 case INPUT:
3213 case OWNER:
3214 case SNAPSHOT:
3215 case REPEATABLE:
3216 case SERIALIZABLE:
3217 case NATIVE_COMPILATION:
3218 case VIEW_METADATA:
3219 case INSTEAD:
3220 case APPEND:
3221 case INCREMENT:
3222 case CACHE:
3223 case MINVALUE:
3224 case MAXVALUE:
3225 case RESTART:
3226 case LOB_COMPACTION:
3227 case COMPRESS_ALL_ROW_GROUPS:
3228 case REORGANIZE:
3229 case RESUME:
3230 case PAUSE:
3231 case ABORT:
3232 case ACCELERATED_DATABASE_RECOVERY:
3233 case PERSISTENT_VERSION_STORE_FILEGROUP:
3234 case IMMEDIATE:
3235 case NO_WAIT:
3236 case TARGET_RECOVERY_TIME:
3237 case SECONDS:
3238 case HONOR_BROKER_PRIORITY:
3239 case ERROR_BROKER_CONVERSATIONS:
3240 case NEW_BROKER:
3241 case DISABLE_BROKER:
3242 case ENABLE_BROKER:
3243 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
3244 case READ_COMMITTED_SNAPSHOT:
3245 case ALLOW_SNAPSHOT_ISOLATION:
3246 case RECURSIVE_TRIGGERS:
3247 case QUOTED_IDENTIFIER:
3248 case NUMERIC_ROUNDABORT:
3249 case CONCAT_NULL_YIELDS_NULL:
3250 case COMPATIBILITY_LEVEL:
3251 case ARITHABORT:
3252 case ANSI_WARNINGS:
3253 case ANSI_PADDING:
3254 case ANSI_NULLS:
3255 case ANSI_NULL_DEFAULT:
3256 case PAGE_VERIFY:
3257 case CHECKSUM:
3258 case TORN_PAGE_DETECTION:
3259 case BULK_LOGGED:
3260 case RECOVERY:
3261 case TOTAL_EXECUTION_CPU_TIME_MS:
3262 case TOTAL_COMPILE_CPU_TIME_MS:
3263 case STALE_CAPTURE_POLICY_THRESHOLD:
3264 case EXECUTION_COUNT:
3265 case QUERY_CAPTURE_POLICY:
3266 case WAIT_STATS_CAPTURE_MODE:
3267 case MAX_PLANS_PER_QUERY:
3268 case QUERY_CAPTURE_MODE:
3269 case SIZE_BASED_CLEANUP_MODE:
3270 case INTERVAL_LENGTH_MINUTES:
3271 case MAX_STORAGE_SIZE_MB:
3272 case DATA_FLUSH_INTERVAL_SECONDS:
3273 case CLEANUP_POLICY:
3274 case CUSTOM:
3275 case STALE_QUERY_THRESHOLD_DAYS:
3276 case OPERATION_MODE:
3277 case QUERY_STORE:
3278 case CURSOR_DEFAULT:
3279 case GLOBAL:
3280 case CURSOR_CLOSE_ON_COMMIT:
3281 case HOURS:
3282 case CHANGE_RETENTION:
3283 case AUTO_CLEANUP:
3284 case CHANGE_TRACKING:
3285 case AUTOMATIC_TUNING:
3286 case FORCE_LAST_GOOD_PLAN:
3287 case AUTO_UPDATE_STATISTICS_ASYNC:
3288 case AUTO_UPDATE_STATISTICS:
3289 case AUTO_SHRINK:
3290 case AUTO_CREATE_STATISTICS:
3291 case INCREMENTAL:
3292 case AUTO_CLOSE:
3293 case DATA_RETENTION:
3294 case TEMPORAL_HISTORY_RETENTION:
3295 case EDITION:
3296 case MIXED_PAGE_ALLOCATION:
3297 case DISABLED:
3298 case ALLOWED:
3299 case HADR:
3300 case MULTI_USER:
3301 case RESTRICTED_USER:
3302 case SINGLE_USER:
3303 case OFFLINE:
3304 case EMERGENCY:
3305 case SUSPEND:
3306 case DATE_CORRELATION_OPTIMIZATION:
3307 case ELASTIC_POOL:
3308 case SERVICE_OBJECTIVE:
3309 case DATABASE_NAME:
3310 case ALLOW_CONNECTIONS:
3311 case GEO:
3312 case NAMED:
3313 case DATEFIRST:
3314 case BACKUP_STORAGE_REDUNDANCY:
3315 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
3316 case SECONDARY:
3317 case FAILOVER:
3318 case DEFAULT_FULLTEXT_LANGUAGE:
3319 case DEFAULT_LANGUAGE:
3320 case INLINE:
3321 case NESTED_TRIGGERS:
3322 case TRANSFORM_NOISE_WORDS:
3323 case TWO_DIGIT_YEAR_CUTOFF:
3324 case PERSISTENT_LOG_BUFFER:
3325 case DIRECTORY_NAME:
3326 case DATEFORMAT:
3327 case DELAYED_DURABILITY:
3328 case AUTHORIZATION:
3329 case TRANSFER:
3330 case PROVIDER:
3331 case SEARCH:
3332 case MEMBER:
3333 enterOuterAlt(_localctx, 2);
3334 {
3335 setState(1191);
3336 unreservedWord();
3337 }
3338 break;
3339 default:
3340 throw new NoViableAltException(this);
3341 }
3342 }
3343 catch (RecognitionException re) {
3344 _localctx.exception = re;
3345 _errHandler.reportError(this, re);
3346 _errHandler.recover(this, re);
3347 }
3348 finally {
3349 exitRule();
3350 }
3351 return _localctx;
3352 }
3353
3354 public static class DelimitedIdentifierContext extends ParserRuleContext {
3355 public TerminalNode DELIMITED_IDENTIFIER_() { return getToken(SQLServerStatementParser.DELIMITED_IDENTIFIER_, 0); }
3356 public DelimitedIdentifierContext(ParserRuleContext parent, int invokingState) {
3357 super(parent, invokingState);
3358 }
3359 @Override public int getRuleIndex() { return RULE_delimitedIdentifier; }
3360 @Override
3361 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3362 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDelimitedIdentifier(this);
3363 else return visitor.visitChildren(this);
3364 }
3365 }
3366
3367 public final DelimitedIdentifierContext delimitedIdentifier() throws RecognitionException {
3368 DelimitedIdentifierContext _localctx = new DelimitedIdentifierContext(_ctx, getState());
3369 enterRule(_localctx, 46, RULE_delimitedIdentifier);
3370 try {
3371 enterOuterAlt(_localctx, 1);
3372 {
3373 setState(1194);
3374 match(DELIMITED_IDENTIFIER_);
3375 }
3376 }
3377 catch (RecognitionException re) {
3378 _localctx.exception = re;
3379 _errHandler.reportError(this, re);
3380 _errHandler.recover(this, re);
3381 }
3382 finally {
3383 exitRule();
3384 }
3385 return _localctx;
3386 }
3387
3388 public static class UnreservedWordContext extends ParserRuleContext {
3389 public TerminalNode TRUNCATE() { return getToken(SQLServerStatementParser.TRUNCATE, 0); }
3390 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
3391 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
3392 public TerminalNode LIMIT() { return getToken(SQLServerStatementParser.LIMIT, 0); }
3393 public TerminalNode OFFSET() { return getToken(SQLServerStatementParser.OFFSET, 0); }
3394 public TerminalNode SAVEPOINT() { return getToken(SQLServerStatementParser.SAVEPOINT, 0); }
3395 public TerminalNode BOOLEAN() { return getToken(SQLServerStatementParser.BOOLEAN, 0); }
3396 public TerminalNode ARRAY() { return getToken(SQLServerStatementParser.ARRAY, 0); }
3397 public TerminalNode LOCALTIME() { return getToken(SQLServerStatementParser.LOCALTIME, 0); }
3398 public TerminalNode LOCALTIMESTAMP() { return getToken(SQLServerStatementParser.LOCALTIMESTAMP, 0); }
3399 public TerminalNode QUARTER() { return getToken(SQLServerStatementParser.QUARTER, 0); }
3400 public TerminalNode WEEK() { return getToken(SQLServerStatementParser.WEEK, 0); }
3401 public TerminalNode MICROSECOND() { return getToken(SQLServerStatementParser.MICROSECOND, 0); }
3402 public TerminalNode ENABLE() { return getToken(SQLServerStatementParser.ENABLE, 0); }
3403 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
3404 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
3405 public TerminalNode HIDDEN_() { return getToken(SQLServerStatementParser.HIDDEN_, 0); }
3406 public TerminalNode MOD() { return getToken(SQLServerStatementParser.MOD, 0); }
3407 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
3408 public TerminalNode TOP() { return getToken(SQLServerStatementParser.TOP, 0); }
3409 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
3410 public TerminalNode XOR() { return getToken(SQLServerStatementParser.XOR, 0); }
3411 public TerminalNode ALWAYS() { return getToken(SQLServerStatementParser.ALWAYS, 0); }
3412 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
3413 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
3414 public TerminalNode ALGORITHM() { return getToken(SQLServerStatementParser.ALGORITHM, 0); }
3415 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
3416 public TerminalNode BLOCKERS() { return getToken(SQLServerStatementParser.BLOCKERS, 0); }
3417 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
3418 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
3419 public TerminalNode CONTENT() { return getToken(SQLServerStatementParser.CONTENT, 0); }
3420 public TerminalNode CONCAT() { return getToken(SQLServerStatementParser.CONCAT, 0); }
3421 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
3422 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
3423 public TerminalNode DENY() { return getToken(SQLServerStatementParser.DENY, 0); }
3424 public TerminalNode DETERMINISTIC() { return getToken(SQLServerStatementParser.DETERMINISTIC, 0); }
3425 public TerminalNode DISTRIBUTION() { return getToken(SQLServerStatementParser.DISTRIBUTION, 0); }
3426 public TerminalNode DOCUMENT() { return getToken(SQLServerStatementParser.DOCUMENT, 0); }
3427 public TerminalNode DURABILITY() { return getToken(SQLServerStatementParser.DURABILITY, 0); }
3428 public TerminalNode ENCRYPTED() { return getToken(SQLServerStatementParser.ENCRYPTED, 0); }
3429 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
3430 public TerminalNode FILETABLE() { return getToken(SQLServerStatementParser.FILETABLE, 0); }
3431 public TerminalNode FOLLOWING() { return getToken(SQLServerStatementParser.FOLLOWING, 0); }
3432 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
3433 public TerminalNode HEAP() { return getToken(SQLServerStatementParser.HEAP, 0); }
3434 public TerminalNode INBOUND() { return getToken(SQLServerStatementParser.INBOUND, 0); }
3435 public TerminalNode INFINITE() { return getToken(SQLServerStatementParser.INFINITE, 0); }
3436 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
3437 public TerminalNode MASKED() { return getToken(SQLServerStatementParser.MASKED, 0); }
3438 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
3439 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
3440 public TerminalNode MONTHS() { return getToken(SQLServerStatementParser.MONTHS, 0); }
3441 public TerminalNode MOVE() { return getToken(SQLServerStatementParser.MOVE, 0); }
3442 public TerminalNode NOCHECK() { return getToken(SQLServerStatementParser.NOCHECK, 0); }
3443 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
3444 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
3445 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
3446 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
3447 public TerminalNode OUTBOUND() { return getToken(SQLServerStatementParser.OUTBOUND, 0); }
3448 public TerminalNode OVER() { return getToken(SQLServerStatementParser.OVER, 0); }
3449 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
3450 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
3451 public TerminalNode PAUSED() { return getToken(SQLServerStatementParser.PAUSED, 0); }
3452 public TerminalNode PERIOD() { return getToken(SQLServerStatementParser.PERIOD, 0); }
3453 public TerminalNode PERSISTED() { return getToken(SQLServerStatementParser.PERSISTED, 0); }
3454 public TerminalNode PRECEDING() { return getToken(SQLServerStatementParser.PRECEDING, 0); }
3455 public TerminalNode RANDOMIZED() { return getToken(SQLServerStatementParser.RANDOMIZED, 0); }
3456 public TerminalNode RANGE() { return getToken(SQLServerStatementParser.RANGE, 0); }
3457 public TerminalNode REBUILD() { return getToken(SQLServerStatementParser.REBUILD, 0); }
3458 public TerminalNode REPLICATE() { return getToken(SQLServerStatementParser.REPLICATE, 0); }
3459 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
3460 public TerminalNode RESUMABLE() { return getToken(SQLServerStatementParser.RESUMABLE, 0); }
3461 public TerminalNode ROWGUIDCOL() { return getToken(SQLServerStatementParser.ROWGUIDCOL, 0); }
3462 public TerminalNode SAVE() { return getToken(SQLServerStatementParser.SAVE, 0); }
3463 public TerminalNode SELF() { return getToken(SQLServerStatementParser.SELF, 0); }
3464 public TerminalNode SPARSE() { return getToken(SQLServerStatementParser.SPARSE, 0); }
3465 public TerminalNode SWITCH() { return getToken(SQLServerStatementParser.SWITCH, 0); }
3466 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
3467 public TerminalNode TRANCOUNT() { return getToken(SQLServerStatementParser.TRANCOUNT, 0); }
3468 public TerminalNode UNBOUNDED() { return getToken(SQLServerStatementParser.UNBOUNDED, 0); }
3469 public TerminalNode YEARS() { return getToken(SQLServerStatementParser.YEARS, 0); }
3470 public TerminalNode WEEKS() { return getToken(SQLServerStatementParser.WEEKS, 0); }
3471 public TerminalNode ABORT_AFTER_WAIT() { return getToken(SQLServerStatementParser.ABORT_AFTER_WAIT, 0); }
3472 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
3473 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
3474 public TerminalNode ALL_SPARSE_COLUMNS() { return getToken(SQLServerStatementParser.ALL_SPARSE_COLUMNS, 0); }
3475 public TerminalNode BUCKET_COUNT() { return getToken(SQLServerStatementParser.BUCKET_COUNT, 0); }
3476 public TerminalNode COLUMNSTORE_ARCHIVE() { return getToken(SQLServerStatementParser.COLUMNSTORE_ARCHIVE, 0); }
3477 public TerminalNode COLUMN_ENCRYPTION_KEY() { return getToken(SQLServerStatementParser.COLUMN_ENCRYPTION_KEY, 0); }
3478 public TerminalNode COLUMN_SET() { return getToken(SQLServerStatementParser.COLUMN_SET, 0); }
3479 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
3480 public TerminalNode DATABASE_DEAULT() { return getToken(SQLServerStatementParser.DATABASE_DEAULT, 0); }
3481 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
3482 public TerminalNode DATA_CONSISTENCY_CHECK() { return getToken(SQLServerStatementParser.DATA_CONSISTENCY_CHECK, 0); }
3483 public TerminalNode ENCRYPTION_TYPE() { return getToken(SQLServerStatementParser.ENCRYPTION_TYPE, 0); }
3484 public TerminalNode SYSTEM_TIME() { return getToken(SQLServerStatementParser.SYSTEM_TIME, 0); }
3485 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
3486 public TerminalNode TEXTIMAGE_ON() { return getToken(SQLServerStatementParser.TEXTIMAGE_ON, 0); }
3487 public TerminalNode WAIT_AT_LOW_PRIORITY() { return getToken(SQLServerStatementParser.WAIT_AT_LOW_PRIORITY, 0); }
3488 public TerminalNode STATISTICS_INCREMENTAL() { return getToken(SQLServerStatementParser.STATISTICS_INCREMENTAL, 0); }
3489 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
3490 public TerminalNode ROUND_ROBIN() { return getToken(SQLServerStatementParser.ROUND_ROBIN, 0); }
3491 public TerminalNode SCHEMA_AND_DATA() { return getToken(SQLServerStatementParser.SCHEMA_AND_DATA, 0); }
3492 public TerminalNode SCHEMA_ONLY() { return getToken(SQLServerStatementParser.SCHEMA_ONLY, 0); }
3493 public TerminalNode SORT_IN_TEMPDB() { return getToken(SQLServerStatementParser.SORT_IN_TEMPDB, 0); }
3494 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
3495 public TerminalNode IMPLICIT_TRANSACTIONS() { return getToken(SQLServerStatementParser.IMPLICIT_TRANSACTIONS, 0); }
3496 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
3497 public TerminalNode MEMORY_OPTIMIZED() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED, 0); }
3498 public TerminalNode MIGRATION_STATE() { return getToken(SQLServerStatementParser.MIGRATION_STATE, 0); }
3499 public TerminalNode PAD_INDEX() { return getToken(SQLServerStatementParser.PAD_INDEX, 0); }
3500 public TerminalNode REMOTE_DATA_ARCHIVE() { return getToken(SQLServerStatementParser.REMOTE_DATA_ARCHIVE, 0); }
3501 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
3502 public TerminalNode FILETABLE_COLLATE_FILENAME() { return getToken(SQLServerStatementParser.FILETABLE_COLLATE_FILENAME, 0); }
3503 public TerminalNode FILETABLE_DIRECTORY() { return getToken(SQLServerStatementParser.FILETABLE_DIRECTORY, 0); }
3504 public TerminalNode FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME, 0); }
3505 public TerminalNode FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME, 0); }
3506 public TerminalNode FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME, 0); }
3507 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
3508 public TerminalNode FILTER_PREDICATE() { return getToken(SQLServerStatementParser.FILTER_PREDICATE, 0); }
3509 public TerminalNode HISTORY_RETENTION_PERIOD() { return getToken(SQLServerStatementParser.HISTORY_RETENTION_PERIOD, 0); }
3510 public TerminalNode HISTORY_TABLE() { return getToken(SQLServerStatementParser.HISTORY_TABLE, 0); }
3511 public TerminalNode LOCK_ESCALATION() { return getToken(SQLServerStatementParser.LOCK_ESCALATION, 0); }
3512 public TerminalNode DROP_EXISTING() { return getToken(SQLServerStatementParser.DROP_EXISTING, 0); }
3513 public TerminalNode ROW_NUMBER() { return getToken(SQLServerStatementParser.ROW_NUMBER, 0); }
3514 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
3515 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
3516 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
3517 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
3518 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
3519 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
3520 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
3521 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
3522 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
3523 public TerminalNode RECEIVE() { return getToken(SQLServerStatementParser.RECEIVE, 0); }
3524 public TerminalNode CHANGE() { return getToken(SQLServerStatementParser.CHANGE, 0); }
3525 public TerminalNode TRACE() { return getToken(SQLServerStatementParser.TRACE, 0); }
3526 public TerminalNode TRACKING() { return getToken(SQLServerStatementParser.TRACKING, 0); }
3527 public TerminalNode RESOURCES() { return getToken(SQLServerStatementParser.RESOURCES, 0); }
3528 public TerminalNode SETTINGS() { return getToken(SQLServerStatementParser.SETTINGS, 0); }
3529 public TerminalNode STATE() { return getToken(SQLServerStatementParser.STATE, 0); }
3530 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
3531 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
3532 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
3533 public TerminalNode EVENT() { return getToken(SQLServerStatementParser.EVENT, 0); }
3534 public TerminalNode NOTIFICATION() { return getToken(SQLServerStatementParser.NOTIFICATION, 0); }
3535 public TerminalNode LINKED() { return getToken(SQLServerStatementParser.LINKED, 0); }
3536 public TerminalNode AUDIT() { return getToken(SQLServerStatementParser.AUDIT, 0); }
3537 public TerminalNode DDL() { return getToken(SQLServerStatementParser.DDL, 0); }
3538 public TerminalNode SQL() { return getToken(SQLServerStatementParser.SQL, 0); }
3539 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
3540 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
3541 public TerminalNode SECURABLES() { return getToken(SQLServerStatementParser.SECURABLES, 0); }
3542 public TerminalNode AUTHENTICATE() { return getToken(SQLServerStatementParser.AUTHENTICATE, 0); }
3543 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
3544 public TerminalNode ACCESS() { return getToken(SQLServerStatementParser.ACCESS, 0); }
3545 public TerminalNode ADMINISTER() { return getToken(SQLServerStatementParser.ADMINISTER, 0); }
3546 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
3547 public TerminalNode OPERATIONS() { return getToken(SQLServerStatementParser.OPERATIONS, 0); }
3548 public TerminalNode UNSAFE() { return getToken(SQLServerStatementParser.UNSAFE, 0); }
3549 public TerminalNode SHUTDOWN() { return getToken(SQLServerStatementParser.SHUTDOWN, 0); }
3550 public TerminalNode SCOPED() { return getToken(SQLServerStatementParser.SCOPED, 0); }
3551 public TerminalNode CONFIGURATION() { return getToken(SQLServerStatementParser.CONFIGURATION, 0); }
3552 public TerminalNode DATASPACE() { return getToken(SQLServerStatementParser.DATASPACE, 0); }
3553 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
3554 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
3555 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
3556 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
3557 public TerminalNode MASTER() { return getToken(SQLServerStatementParser.MASTER, 0); }
3558 public TerminalNode DATA() { return getToken(SQLServerStatementParser.DATA, 0); }
3559 public TerminalNode SOURCE() { return getToken(SQLServerStatementParser.SOURCE, 0); }
3560 public TerminalNode FILE() { return getToken(SQLServerStatementParser.FILE, 0); }
3561 public TerminalNode FORMAT() { return getToken(SQLServerStatementParser.FORMAT, 0); }
3562 public TerminalNode LIBRARY() { return getToken(SQLServerStatementParser.LIBRARY, 0); }
3563 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
3564 public TerminalNode MASK() { return getToken(SQLServerStatementParser.MASK, 0); }
3565 public TerminalNode UNMASK() { return getToken(SQLServerStatementParser.UNMASK, 0); }
3566 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
3567 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
3568 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
3569 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
3570 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
3571 public TerminalNode SECURITY() { return getToken(SQLServerStatementParser.SECURITY, 0); }
3572 public TerminalNode POLICY() { return getToken(SQLServerStatementParser.POLICY, 0); }
3573 public TerminalNode AGGREGATE() { return getToken(SQLServerStatementParser.AGGREGATE, 0); }
3574 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
3575 public TerminalNode RULE() { return getToken(SQLServerStatementParser.RULE, 0); }
3576 public TerminalNode SYNONYM() { return getToken(SQLServerStatementParser.SYNONYM, 0); }
3577 public TerminalNode COLLECTION() { return getToken(SQLServerStatementParser.COLLECTION, 0); }
3578 public TerminalNode SCRIPT() { return getToken(SQLServerStatementParser.SCRIPT, 0); }
3579 public TerminalNode KILL() { return getToken(SQLServerStatementParser.KILL, 0); }
3580 public TerminalNode BACKUP() { return getToken(SQLServerStatementParser.BACKUP, 0); }
3581 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
3582 public TerminalNode SHOWPLAN() { return getToken(SQLServerStatementParser.SHOWPLAN, 0); }
3583 public TerminalNode SUBSCRIBE() { return getToken(SQLServerStatementParser.SUBSCRIBE, 0); }
3584 public TerminalNode QUERY() { return getToken(SQLServerStatementParser.QUERY, 0); }
3585 public TerminalNode NOTIFICATIONS() { return getToken(SQLServerStatementParser.NOTIFICATIONS, 0); }
3586 public TerminalNode CHECKPOINT() { return getToken(SQLServerStatementParser.CHECKPOINT, 0); }
3587 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
3588 public TerminalNode INSTANCE() { return getToken(SQLServerStatementParser.INSTANCE, 0); }
3589 public TerminalNode DO() { return getToken(SQLServerStatementParser.DO, 0); }
3590 public TerminalNode DEFINER() { return getToken(SQLServerStatementParser.DEFINER, 0); }
3591 public TerminalNode LOCAL() { return getToken(SQLServerStatementParser.LOCAL, 0); }
3592 public TerminalNode CASCADED() { return getToken(SQLServerStatementParser.CASCADED, 0); }
3593 public TerminalNode NEXT() { return getToken(SQLServerStatementParser.NEXT, 0); }
3594 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
3595 public TerminalNode INTEGER() { return getToken(SQLServerStatementParser.INTEGER, 0); }
3596 public TerminalNode MAX() { return getToken(SQLServerStatementParser.MAX, 0); }
3597 public TerminalNode MIN() { return getToken(SQLServerStatementParser.MIN, 0); }
3598 public TerminalNode SUM() { return getToken(SQLServerStatementParser.SUM, 0); }
3599 public TerminalNode COUNT() { return getToken(SQLServerStatementParser.COUNT, 0); }
3600 public TerminalNode AVG() { return getToken(SQLServerStatementParser.AVG, 0); }
3601 public TerminalNode FIRST() { return getToken(SQLServerStatementParser.FIRST, 0); }
3602 public TerminalNode DATETIME2() { return getToken(SQLServerStatementParser.DATETIME2, 0); }
3603 public TerminalNode OUTPUT() { return getToken(SQLServerStatementParser.OUTPUT, 0); }
3604 public TerminalNode INSERTED() { return getToken(SQLServerStatementParser.INSERTED, 0); }
3605 public TerminalNode DELETED() { return getToken(SQLServerStatementParser.DELETED, 0); }
3606 public TerminalNode KB() { return getToken(SQLServerStatementParser.KB, 0); }
3607 public TerminalNode MB() { return getToken(SQLServerStatementParser.MB, 0); }
3608 public TerminalNode GB() { return getToken(SQLServerStatementParser.GB, 0); }
3609 public TerminalNode TB() { return getToken(SQLServerStatementParser.TB, 0); }
3610 public TerminalNode FILENAME() { return getToken(SQLServerStatementParser.FILENAME, 0); }
3611 public TerminalNode MAXSIZE() { return getToken(SQLServerStatementParser.MAXSIZE, 0); }
3612 public TerminalNode FILEGROWTH() { return getToken(SQLServerStatementParser.FILEGROWTH, 0); }
3613 public TerminalNode UNLIMITED() { return getToken(SQLServerStatementParser.UNLIMITED, 0); }
3614 public TerminalNode MEMORY_OPTIMIZED_DATA() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_DATA, 0); }
3615 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
3616 public TerminalNode NON_TRANSACTED_ACCESS() { return getToken(SQLServerStatementParser.NON_TRANSACTED_ACCESS, 0); }
3617 public TerminalNode DB_CHAINING() { return getToken(SQLServerStatementParser.DB_CHAINING, 0); }
3618 public TerminalNode TRUSTWORTHY() { return getToken(SQLServerStatementParser.TRUSTWORTHY, 0); }
3619 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
3620 public TerminalNode ROWS() { return getToken(SQLServerStatementParser.ROWS, 0); }
3621 public TerminalNode DATE() { return getToken(SQLServerStatementParser.DATE, 0); }
3622 public TerminalNode DATEPART() { return getToken(SQLServerStatementParser.DATEPART, 0); }
3623 public TerminalNode CAST() { return getToken(SQLServerStatementParser.CAST, 0); }
3624 public TerminalNode DAY() { return getToken(SQLServerStatementParser.DAY, 0); }
3625 public TerminalNode FORWARD_ONLY() { return getToken(SQLServerStatementParser.FORWARD_ONLY, 0); }
3626 public TerminalNode KEYSET() { return getToken(SQLServerStatementParser.KEYSET, 0); }
3627 public TerminalNode FAST_FORWARD() { return getToken(SQLServerStatementParser.FAST_FORWARD, 0); }
3628 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
3629 public TerminalNode SCROLL_LOCKS() { return getToken(SQLServerStatementParser.SCROLL_LOCKS, 0); }
3630 public TerminalNode OPTIMISTIC() { return getToken(SQLServerStatementParser.OPTIMISTIC, 0); }
3631 public TerminalNode TYPE_WARNING() { return getToken(SQLServerStatementParser.TYPE_WARNING, 0); }
3632 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
3633 public TerminalNode CALLER() { return getToken(SQLServerStatementParser.CALLER, 0); }
3634 public TerminalNode OWNER() { return getToken(SQLServerStatementParser.OWNER, 0); }
3635 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
3636 public TerminalNode REPEATABLE() { return getToken(SQLServerStatementParser.REPEATABLE, 0); }
3637 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
3638 public TerminalNode NATIVE_COMPILATION() { return getToken(SQLServerStatementParser.NATIVE_COMPILATION, 0); }
3639 public TerminalNode VIEW_METADATA() { return getToken(SQLServerStatementParser.VIEW_METADATA, 0); }
3640 public TerminalNode INSTEAD() { return getToken(SQLServerStatementParser.INSTEAD, 0); }
3641 public TerminalNode APPEND() { return getToken(SQLServerStatementParser.APPEND, 0); }
3642 public TerminalNode INCREMENT() { return getToken(SQLServerStatementParser.INCREMENT, 0); }
3643 public TerminalNode CACHE() { return getToken(SQLServerStatementParser.CACHE, 0); }
3644 public TerminalNode MINVALUE() { return getToken(SQLServerStatementParser.MINVALUE, 0); }
3645 public TerminalNode MAXVALUE() { return getToken(SQLServerStatementParser.MAXVALUE, 0); }
3646 public TerminalNode RESTART() { return getToken(SQLServerStatementParser.RESTART, 0); }
3647 public TerminalNode LOB_COMPACTION() { return getToken(SQLServerStatementParser.LOB_COMPACTION, 0); }
3648 public TerminalNode COMPRESS_ALL_ROW_GROUPS() { return getToken(SQLServerStatementParser.COMPRESS_ALL_ROW_GROUPS, 0); }
3649 public TerminalNode REORGANIZE() { return getToken(SQLServerStatementParser.REORGANIZE, 0); }
3650 public TerminalNode RESUME() { return getToken(SQLServerStatementParser.RESUME, 0); }
3651 public TerminalNode PAUSE() { return getToken(SQLServerStatementParser.PAUSE, 0); }
3652 public TerminalNode ABORT() { return getToken(SQLServerStatementParser.ABORT, 0); }
3653 public TerminalNode ACCELERATED_DATABASE_RECOVERY() { return getToken(SQLServerStatementParser.ACCELERATED_DATABASE_RECOVERY, 0); }
3654 public TerminalNode PERSISTENT_VERSION_STORE_FILEGROUP() { return getToken(SQLServerStatementParser.PERSISTENT_VERSION_STORE_FILEGROUP, 0); }
3655 public TerminalNode IMMEDIATE() { return getToken(SQLServerStatementParser.IMMEDIATE, 0); }
3656 public TerminalNode NO_WAIT() { return getToken(SQLServerStatementParser.NO_WAIT, 0); }
3657 public TerminalNode TARGET_RECOVERY_TIME() { return getToken(SQLServerStatementParser.TARGET_RECOVERY_TIME, 0); }
3658 public TerminalNode SECONDS() { return getToken(SQLServerStatementParser.SECONDS, 0); }
3659 public TerminalNode HONOR_BROKER_PRIORITY() { return getToken(SQLServerStatementParser.HONOR_BROKER_PRIORITY, 0); }
3660 public TerminalNode ERROR_BROKER_CONVERSATIONS() { return getToken(SQLServerStatementParser.ERROR_BROKER_CONVERSATIONS, 0); }
3661 public TerminalNode NEW_BROKER() { return getToken(SQLServerStatementParser.NEW_BROKER, 0); }
3662 public TerminalNode DISABLE_BROKER() { return getToken(SQLServerStatementParser.DISABLE_BROKER, 0); }
3663 public TerminalNode ENABLE_BROKER() { return getToken(SQLServerStatementParser.ENABLE_BROKER, 0); }
3664 public TerminalNode MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT, 0); }
3665 public TerminalNode READ_COMMITTED_SNAPSHOT() { return getToken(SQLServerStatementParser.READ_COMMITTED_SNAPSHOT, 0); }
3666 public TerminalNode ALLOW_SNAPSHOT_ISOLATION() { return getToken(SQLServerStatementParser.ALLOW_SNAPSHOT_ISOLATION, 0); }
3667 public TerminalNode RECURSIVE_TRIGGERS() { return getToken(SQLServerStatementParser.RECURSIVE_TRIGGERS, 0); }
3668 public TerminalNode QUOTED_IDENTIFIER() { return getToken(SQLServerStatementParser.QUOTED_IDENTIFIER, 0); }
3669 public TerminalNode NUMERIC_ROUNDABORT() { return getToken(SQLServerStatementParser.NUMERIC_ROUNDABORT, 0); }
3670 public TerminalNode CONCAT_NULL_YIELDS_NULL() { return getToken(SQLServerStatementParser.CONCAT_NULL_YIELDS_NULL, 0); }
3671 public TerminalNode COMPATIBILITY_LEVEL() { return getToken(SQLServerStatementParser.COMPATIBILITY_LEVEL, 0); }
3672 public TerminalNode ARITHABORT() { return getToken(SQLServerStatementParser.ARITHABORT, 0); }
3673 public TerminalNode ANSI_WARNINGS() { return getToken(SQLServerStatementParser.ANSI_WARNINGS, 0); }
3674 public TerminalNode ANSI_PADDING() { return getToken(SQLServerStatementParser.ANSI_PADDING, 0); }
3675 public TerminalNode ANSI_NULLS() { return getToken(SQLServerStatementParser.ANSI_NULLS, 0); }
3676 public TerminalNode ANSI_NULL_DEFAULT() { return getToken(SQLServerStatementParser.ANSI_NULL_DEFAULT, 0); }
3677 public TerminalNode PAGE_VERIFY() { return getToken(SQLServerStatementParser.PAGE_VERIFY, 0); }
3678 public TerminalNode CHECKSUM() { return getToken(SQLServerStatementParser.CHECKSUM, 0); }
3679 public TerminalNode TORN_PAGE_DETECTION() { return getToken(SQLServerStatementParser.TORN_PAGE_DETECTION, 0); }
3680 public TerminalNode BULK_LOGGED() { return getToken(SQLServerStatementParser.BULK_LOGGED, 0); }
3681 public TerminalNode RECOVERY() { return getToken(SQLServerStatementParser.RECOVERY, 0); }
3682 public TerminalNode TOTAL_EXECUTION_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_EXECUTION_CPU_TIME_MS, 0); }
3683 public TerminalNode TOTAL_COMPILE_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_COMPILE_CPU_TIME_MS, 0); }
3684 public TerminalNode STALE_CAPTURE_POLICY_THRESHOLD() { return getToken(SQLServerStatementParser.STALE_CAPTURE_POLICY_THRESHOLD, 0); }
3685 public TerminalNode EXECUTION_COUNT() { return getToken(SQLServerStatementParser.EXECUTION_COUNT, 0); }
3686 public TerminalNode QUERY_CAPTURE_POLICY() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_POLICY, 0); }
3687 public TerminalNode WAIT_STATS_CAPTURE_MODE() { return getToken(SQLServerStatementParser.WAIT_STATS_CAPTURE_MODE, 0); }
3688 public TerminalNode MAX_PLANS_PER_QUERY() { return getToken(SQLServerStatementParser.MAX_PLANS_PER_QUERY, 0); }
3689 public TerminalNode QUERY_CAPTURE_MODE() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_MODE, 0); }
3690 public TerminalNode SIZE_BASED_CLEANUP_MODE() { return getToken(SQLServerStatementParser.SIZE_BASED_CLEANUP_MODE, 0); }
3691 public TerminalNode INTERVAL_LENGTH_MINUTES() { return getToken(SQLServerStatementParser.INTERVAL_LENGTH_MINUTES, 0); }
3692 public TerminalNode MAX_STORAGE_SIZE_MB() { return getToken(SQLServerStatementParser.MAX_STORAGE_SIZE_MB, 0); }
3693 public TerminalNode DATA_FLUSH_INTERVAL_SECONDS() { return getToken(SQLServerStatementParser.DATA_FLUSH_INTERVAL_SECONDS, 0); }
3694 public TerminalNode CLEANUP_POLICY() { return getToken(SQLServerStatementParser.CLEANUP_POLICY, 0); }
3695 public TerminalNode CUSTOM() { return getToken(SQLServerStatementParser.CUSTOM, 0); }
3696 public TerminalNode STALE_QUERY_THRESHOLD_DAYS() { return getToken(SQLServerStatementParser.STALE_QUERY_THRESHOLD_DAYS, 0); }
3697 public TerminalNode OPERATION_MODE() { return getToken(SQLServerStatementParser.OPERATION_MODE, 0); }
3698 public TerminalNode QUERY_STORE() { return getToken(SQLServerStatementParser.QUERY_STORE, 0); }
3699 public TerminalNode CURSOR_DEFAULT() { return getToken(SQLServerStatementParser.CURSOR_DEFAULT, 0); }
3700 public TerminalNode GLOBAL() { return getToken(SQLServerStatementParser.GLOBAL, 0); }
3701 public TerminalNode CURSOR_CLOSE_ON_COMMIT() { return getToken(SQLServerStatementParser.CURSOR_CLOSE_ON_COMMIT, 0); }
3702 public TerminalNode HOURS() { return getToken(SQLServerStatementParser.HOURS, 0); }
3703 public TerminalNode CHANGE_RETENTION() { return getToken(SQLServerStatementParser.CHANGE_RETENTION, 0); }
3704 public TerminalNode AUTO_CLEANUP() { return getToken(SQLServerStatementParser.AUTO_CLEANUP, 0); }
3705 public TerminalNode CHANGE_TRACKING() { return getToken(SQLServerStatementParser.CHANGE_TRACKING, 0); }
3706 public TerminalNode AUTOMATIC_TUNING() { return getToken(SQLServerStatementParser.AUTOMATIC_TUNING, 0); }
3707 public TerminalNode FORCE_LAST_GOOD_PLAN() { return getToken(SQLServerStatementParser.FORCE_LAST_GOOD_PLAN, 0); }
3708 public TerminalNode AUTO_UPDATE_STATISTICS_ASYNC() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS_ASYNC, 0); }
3709 public TerminalNode AUTO_UPDATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS, 0); }
3710 public TerminalNode AUTO_SHRINK() { return getToken(SQLServerStatementParser.AUTO_SHRINK, 0); }
3711 public TerminalNode AUTO_CREATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_CREATE_STATISTICS, 0); }
3712 public TerminalNode INCREMENTAL() { return getToken(SQLServerStatementParser.INCREMENTAL, 0); }
3713 public TerminalNode AUTO_CLOSE() { return getToken(SQLServerStatementParser.AUTO_CLOSE, 0); }
3714 public TerminalNode DATA_RETENTION() { return getToken(SQLServerStatementParser.DATA_RETENTION, 0); }
3715 public TerminalNode TEMPORAL_HISTORY_RETENTION() { return getToken(SQLServerStatementParser.TEMPORAL_HISTORY_RETENTION, 0); }
3716 public TerminalNode EDITION() { return getToken(SQLServerStatementParser.EDITION, 0); }
3717 public TerminalNode MIXED_PAGE_ALLOCATION() { return getToken(SQLServerStatementParser.MIXED_PAGE_ALLOCATION, 0); }
3718 public TerminalNode DISABLED() { return getToken(SQLServerStatementParser.DISABLED, 0); }
3719 public TerminalNode ALLOWED() { return getToken(SQLServerStatementParser.ALLOWED, 0); }
3720 public TerminalNode HADR() { return getToken(SQLServerStatementParser.HADR, 0); }
3721 public TerminalNode MULTI_USER() { return getToken(SQLServerStatementParser.MULTI_USER, 0); }
3722 public TerminalNode RESTRICTED_USER() { return getToken(SQLServerStatementParser.RESTRICTED_USER, 0); }
3723 public TerminalNode SINGLE_USER() { return getToken(SQLServerStatementParser.SINGLE_USER, 0); }
3724 public TerminalNode OFFLINE() { return getToken(SQLServerStatementParser.OFFLINE, 0); }
3725 public TerminalNode EMERGENCY() { return getToken(SQLServerStatementParser.EMERGENCY, 0); }
3726 public TerminalNode SUSPEND() { return getToken(SQLServerStatementParser.SUSPEND, 0); }
3727 public TerminalNode DATE_CORRELATION_OPTIMIZATION() { return getToken(SQLServerStatementParser.DATE_CORRELATION_OPTIMIZATION, 0); }
3728 public TerminalNode ELASTIC_POOL() { return getToken(SQLServerStatementParser.ELASTIC_POOL, 0); }
3729 public TerminalNode SERVICE_OBJECTIVE() { return getToken(SQLServerStatementParser.SERVICE_OBJECTIVE, 0); }
3730 public TerminalNode DATABASE_NAME() { return getToken(SQLServerStatementParser.DATABASE_NAME, 0); }
3731 public TerminalNode ALLOW_CONNECTIONS() { return getToken(SQLServerStatementParser.ALLOW_CONNECTIONS, 0); }
3732 public TerminalNode GEO() { return getToken(SQLServerStatementParser.GEO, 0); }
3733 public TerminalNode NAMED() { return getToken(SQLServerStatementParser.NAMED, 0); }
3734 public TerminalNode DATEFIRST() { return getToken(SQLServerStatementParser.DATEFIRST, 0); }
3735 public TerminalNode BACKUP_STORAGE_REDUNDANCY() { return getToken(SQLServerStatementParser.BACKUP_STORAGE_REDUNDANCY, 0); }
3736 public TerminalNode FORCE_FAILOVER_ALLOW_DATA_LOSS() { return getToken(SQLServerStatementParser.FORCE_FAILOVER_ALLOW_DATA_LOSS, 0); }
3737 public TerminalNode SECONDARY() { return getToken(SQLServerStatementParser.SECONDARY, 0); }
3738 public TerminalNode FAILOVER() { return getToken(SQLServerStatementParser.FAILOVER, 0); }
3739 public TerminalNode DEFAULT_FULLTEXT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_FULLTEXT_LANGUAGE, 0); }
3740 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
3741 public TerminalNode INLINE() { return getToken(SQLServerStatementParser.INLINE, 0); }
3742 public TerminalNode NESTED_TRIGGERS() { return getToken(SQLServerStatementParser.NESTED_TRIGGERS, 0); }
3743 public TerminalNode TRANSFORM_NOISE_WORDS() { return getToken(SQLServerStatementParser.TRANSFORM_NOISE_WORDS, 0); }
3744 public TerminalNode TWO_DIGIT_YEAR_CUTOFF() { return getToken(SQLServerStatementParser.TWO_DIGIT_YEAR_CUTOFF, 0); }
3745 public TerminalNode PERSISTENT_LOG_BUFFER() { return getToken(SQLServerStatementParser.PERSISTENT_LOG_BUFFER, 0); }
3746 public TerminalNode DIRECTORY_NAME() { return getToken(SQLServerStatementParser.DIRECTORY_NAME, 0); }
3747 public TerminalNode DATEFORMAT() { return getToken(SQLServerStatementParser.DATEFORMAT, 0); }
3748 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
3749 public TerminalNode TRANSFER() { return getToken(SQLServerStatementParser.TRANSFER, 0); }
3750 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
3751 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
3752 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
3753 public TerminalNode MEMBER() { return getToken(SQLServerStatementParser.MEMBER, 0); }
3754 public TerminalNode SEARCH() { return getToken(SQLServerStatementParser.SEARCH, 0); }
3755 public TerminalNode TEXT() { return getToken(SQLServerStatementParser.TEXT, 0); }
3756 public TerminalNode SECOND() { return getToken(SQLServerStatementParser.SECOND, 0); }
3757 public TerminalNode PRECISION() { return getToken(SQLServerStatementParser.PRECISION, 0); }
3758 public TerminalNode VIEWS() { return getToken(SQLServerStatementParser.VIEWS, 0); }
3759 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
3760 public TerminalNode COLUMNS() { return getToken(SQLServerStatementParser.COLUMNS, 0); }
3761 public TerminalNode SUBSTRING() { return getToken(SQLServerStatementParser.SUBSTRING, 0); }
3762 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
3763 public TerminalNode SIZE() { return getToken(SQLServerStatementParser.SIZE, 0); }
3764 public TerminalNode CONTAINS() { return getToken(SQLServerStatementParser.CONTAINS, 0); }
3765 public TerminalNode MONTH() { return getToken(SQLServerStatementParser.MONTH, 0); }
3766 public TerminalNode INPUT() { return getToken(SQLServerStatementParser.INPUT, 0); }
3767 public TerminalNode YEAR() { return getToken(SQLServerStatementParser.YEAR, 0); }
3768 public TerminalNode TIMESTAMP() { return getToken(SQLServerStatementParser.TIMESTAMP, 0); }
3769 public TerminalNode TRIM() { return getToken(SQLServerStatementParser.TRIM, 0); }
3770 public UnreservedWordContext(ParserRuleContext parent, int invokingState) {
3771 super(parent, invokingState);
3772 }
3773 @Override public int getRuleIndex() { return RULE_unreservedWord; }
3774 @Override
3775 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3776 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUnreservedWord(this);
3777 else return visitor.visitChildren(this);
3778 }
3779 }
3780
3781 public final UnreservedWordContext unreservedWord() throws RecognitionException {
3782 UnreservedWordContext _localctx = new UnreservedWordContext(_ctx, getState());
3783 enterRule(_localctx, 48, RULE_unreservedWord);
3784 int _la;
3785 try {
3786 enterOuterAlt(_localctx, 1);
3787 {
3788 setState(1196);
3789 _la = _input.LA(1);
3790 if ( !(((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (TRIM - 53)) | (1L << (SUBSTRING - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (TIMESTAMP - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (YEAR - 118)) | (1L << (QUARTER - 118)) | (1L << (MONTH - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)) | (1L << (TOP - 184)))) != 0) || ((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (ROW - 248)) | (1L << (ROWS - 248)) | (1L << (XOR - 248)) | (1L << (ALWAYS - 248)) | (1L << (ROLE - 248)) | (1L << (START - 248)) | (1L << (ALGORITHM - 248)) | (1L << (AUTO - 248)) | (1L << (BLOCKERS - 248)) | (1L << (CLUSTERED - 248)) | (1L << (NONCLUSTERED - 248)) | (1L << (COLUMNSTORE - 248)) | (1L << (CONTENT - 248)) | (1L << (YEARS - 248)) | (1L << (MONTHS - 248)) | (1L << (WEEKS - 248)) | (1L << (DAYS - 248)) | (1L << (MINUTES - 248)) | (1L << (DENY - 248)) | (1L << (DETERMINISTIC - 248)) | (1L << (DISTRIBUTION - 248)) | (1L << (DOCUMENT - 248)) | (1L << (DURABILITY - 248)) | (1L << (ENCRYPTED - 248)) | (1L << (FILESTREAM - 248)) | (1L << (FILETABLE - 248)) | (1L << (FILLFACTOR - 248)) | (1L << (FOLLOWING - 248)) | (1L << (HASH - 248)) | (1L << (HEAP - 248)) | (1L << (INBOUND - 248)) | (1L << (OUTBOUND - 248)) | (1L << (UNBOUNDED - 248)) | (1L << (INFINITE - 248)) | (1L << (LOGIN - 248)) | (1L << (MASKED - 248)) | (1L << (MAXDOP - 248)) | (1L << (MOVE - 248)) | (1L << (NOCHECK - 248)) | (1L << (OBJECT - 248)) | (1L << (ONLINE - 248)) | (1L << (OVER - 248)) | (1L << (PAGE - 248)) | (1L << (PAUSED - 248)) | (1L << (PERIOD - 248)) | (1L << (PERSISTED - 248)) | (1L << (PRECEDING - 248)) | (1L << (RANDOMIZED - 248)))) != 0) || ((((_la - 312)) & ~0x3f) == 0 && ((1L << (_la - 312)) & ((1L << (RANGE - 312)) | (1L << (REBUILD - 312)) | (1L << (REPLICATE - 312)) | (1L << (REPLICATION - 312)) | (1L << (RESUMABLE - 312)) | (1L << (ROWGUIDCOL - 312)) | (1L << (SAVE - 312)) | (1L << (SELF - 312)) | (1L << (SPARSE - 312)) | (1L << (SWITCH - 312)) | (1L << (TRAN - 312)) | (1L << (TRANCOUNT - 312)) | (1L << (CONTROL - 312)) | (1L << (CONCAT - 312)) | (1L << (TAKE - 312)) | (1L << (OWNERSHIP - 312)) | (1L << (DEFINITION - 312)) | (1L << (APPLICATION - 312)) | (1L << (ASSEMBLY - 312)) | (1L << (SYMMETRIC - 312)) | (1L << (ASYMMETRIC - 312)) | (1L << (SERVER - 312)) | (1L << (RECEIVE - 312)) | (1L << (CHANGE - 312)) | (1L << (TRACE - 312)) | (1L << (TRACKING - 312)) | (1L << (RESOURCES - 312)) | (1L << (SETTINGS - 312)) | (1L << (STATE - 312)) | (1L << (AVAILABILITY - 312)) | (1L << (CREDENTIAL - 312)) | (1L << (ENDPOINT - 312)) | (1L << (EVENT - 312)) | (1L << (NOTIFICATION - 312)) | (1L << (LINKED - 312)) | (1L << (AUDIT - 312)) | (1L << (DDL - 312)) | (1L << (XML - 312)) | (1L << (IMPERSONATE - 312)) | (1L << (SECURABLES - 312)) | (1L << (AUTHENTICATE - 312)) | (1L << (EXTERNAL - 312)) | (1L << (ACCESS - 312)) | (1L << (ADMINISTER - 312)) | (1L << (BULK - 312)) | (1L << (OPERATIONS - 312)) | (1L << (UNSAFE - 312)) | (1L << (SHUTDOWN - 312)) | (1L << (SCOPED - 312)) | (1L << (CONFIGURATION - 312)) | (1L << (DATASPACE - 312)) | (1L << (SERVICE - 312)) | (1L << (CERTIFICATE - 312)) | (1L << (CONTRACT - 312)) | (1L << (ENCRYPTION - 312)) | (1L << (MASTER - 312)) | (1L << (DATA - 312)))) != 0) || ((((_la - 376)) & ~0x3f) == 0 && ((1L << (_la - 376)) & ((1L << (SOURCE - 376)) | (1L << (FILE - 376)) | (1L << (FORMAT - 376)) | (1L << (LIBRARY - 376)) | (1L << (FULLTEXT - 376)) | (1L << (MASK - 376)) | (1L << (UNMASK - 376)) | (1L << (MESSAGE - 376)) | (1L << (REMOTE - 376)) | (1L << (BINDING - 376)) | (1L << (ROUTE - 376)) | (1L << (SECURITY - 376)) | (1L << (POLICY - 376)) | (1L << (AGGREGATE - 376)) | (1L << (QUEUE - 376)) | (1L << (RULE - 376)) | (1L << (SYNONYM - 376)) | (1L << (COLLECTION - 376)) | (1L << (SCRIPT - 376)) | (1L << (KILL - 376)) | (1L << (BACKUP - 376)) | (1L << (LOG - 376)) | (1L << (SHOWPLAN - 376)) | (1L << (SUBSCRIBE - 376)) | (1L << (QUERY - 376)) | (1L << (NOTIFICATIONS - 376)) | (1L << (CHECKPOINT - 376)) | (1L << (SEQUENCE - 376)) | (1L << (ABORT_AFTER_WAIT - 376)) | (1L << (ALLOW_PAGE_LOCKS - 376)) | (1L << (ALLOW_ROW_LOCKS - 376)) | (1L << (ALL_SPARSE_COLUMNS - 376)) | (1L << (BUCKET_COUNT - 376)) | (1L << (COLUMNSTORE_ARCHIVE - 376)) | (1L << (COLUMN_ENCRYPTION_KEY - 376)) | (1L << (COLUMN_SET - 376)) | (1L << (COMPRESSION_DELAY - 376)) | (1L << (DATABASE_DEAULT - 376)) | (1L << (DATA_COMPRESSION - 376)) | (1L << (DATA_CONSISTENCY_CHECK - 376)) | (1L << (ENCRYPTION_TYPE - 376)) | (1L << (SYSTEM_TIME - 376)) | (1L << (SYSTEM_VERSIONING - 376)) | (1L << (TEXTIMAGE_ON - 376)) | (1L << (WAIT_AT_LOW_PRIORITY - 376)) | (1L << (STATISTICS_INCREMENTAL - 376)) | (1L << (STATISTICS_NORECOMPUTE - 376)) | (1L << (ROUND_ROBIN - 376)) | (1L << (SCHEMA_AND_DATA - 376)) | (1L << (SCHEMA_ONLY - 376)) | (1L << (SORT_IN_TEMPDB - 376)) | (1L << (IGNORE_DUP_KEY - 376)) | (1L << (IMPLICIT_TRANSACTIONS - 376)) | (1L << (MAX_DURATION - 376)) | (1L << (MEMORY_OPTIMIZED - 376)) | (1L << (MIGRATION_STATE - 376)) | (1L << (PAD_INDEX - 376)) | (1L << (REMOTE_DATA_ARCHIVE - 376)) | (1L << (FILESTREAM_ON - 376)) | (1L << (FILETABLE_COLLATE_FILENAME - 376)) | (1L << (FILETABLE_DIRECTORY - 376)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 376)))) != 0) || ((((_la - 440)) & ~0x3f) == 0 && ((1L << (_la - 440)) & ((1L << (FILTER_PREDICATE - 440)) | (1L << (HISTORY_RETENTION_PERIOD - 440)) | (1L << (HISTORY_TABLE - 440)) | (1L << (LOCK_ESCALATION - 440)) | (1L << (DROP_EXISTING - 440)) | (1L << (ROW_NUMBER - 440)) | (1L << (FIRST - 440)) | (1L << (DATETIME2 - 440)) | (1L << (OUTPUT - 440)) | (1L << (INSERTED - 440)) | (1L << (DELETED - 440)))) != 0) || ((((_la - 504)) & ~0x3f) == 0 && ((1L << (_la - 504)) & ((1L << (FILENAME - 504)) | (1L << (SIZE - 504)) | (1L << (MAXSIZE - 504)) | (1L << (FILEGROWTH - 504)) | (1L << (UNLIMITED - 504)) | (1L << (KB - 504)) | (1L << (MB - 504)) | (1L << (GB - 504)) | (1L << (TB - 504)) | (1L << (CONTAINS - 504)) | (1L << (MEMORY_OPTIMIZED_DATA - 504)) | (1L << (FILEGROUP - 504)) | (1L << (NON_TRANSACTED_ACCESS - 504)) | (1L << (DB_CHAINING - 504)) | (1L << (TRUSTWORTHY - 504)) | (1L << (FORWARD_ONLY - 504)) | (1L << (KEYSET - 504)) | (1L << (FAST_FORWARD - 504)) | (1L << (SCROLL_LOCKS - 504)) | (1L << (OPTIMISTIC - 504)) | (1L << (TYPE_WARNING - 504)) | (1L << (SCHEMABINDING - 504)) | (1L << (CALLER - 504)) | (1L << (INPUT - 504)) | (1L << (OWNER - 504)) | (1L << (SNAPSHOT - 504)) | (1L << (REPEATABLE - 504)) | (1L << (SERIALIZABLE - 504)) | (1L << (NATIVE_COMPILATION - 504)) | (1L << (VIEW_METADATA - 504)) | (1L << (INSTEAD - 504)) | (1L << (APPEND - 504)) | (1L << (INCREMENT - 504)) | (1L << (CACHE - 504)) | (1L << (MINVALUE - 504)) | (1L << (MAXVALUE - 504)) | (1L << (RESTART - 504)) | (1L << (LOB_COMPACTION - 504)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 504)) | (1L << (REORGANIZE - 504)) | (1L << (RESUME - 504)) | (1L << (PAUSE - 504)) | (1L << (ABORT - 504)))) != 0) || ((((_la - 570)) & ~0x3f) == 0 && ((1L << (_la - 570)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 570)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 570)) | (1L << (IMMEDIATE - 570)) | (1L << (NO_WAIT - 570)) | (1L << (TARGET_RECOVERY_TIME - 570)) | (1L << (SECONDS - 570)) | (1L << (HONOR_BROKER_PRIORITY - 570)) | (1L << (ERROR_BROKER_CONVERSATIONS - 570)) | (1L << (NEW_BROKER - 570)) | (1L << (DISABLE_BROKER - 570)) | (1L << (ENABLE_BROKER - 570)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 570)) | (1L << (READ_COMMITTED_SNAPSHOT - 570)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 570)) | (1L << (RECURSIVE_TRIGGERS - 570)) | (1L << (QUOTED_IDENTIFIER - 570)) | (1L << (NUMERIC_ROUNDABORT - 570)) | (1L << (CONCAT_NULL_YIELDS_NULL - 570)) | (1L << (COMPATIBILITY_LEVEL - 570)) | (1L << (ARITHABORT - 570)) | (1L << (ANSI_WARNINGS - 570)) | (1L << (ANSI_PADDING - 570)) | (1L << (ANSI_NULLS - 570)) | (1L << (ANSI_NULL_DEFAULT - 570)) | (1L << (PAGE_VERIFY - 570)) | (1L << (CHECKSUM - 570)) | (1L << (TORN_PAGE_DETECTION - 570)) | (1L << (BULK_LOGGED - 570)) | (1L << (RECOVERY - 570)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 570)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 570)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 570)) | (1L << (EXECUTION_COUNT - 570)) | (1L << (QUERY_CAPTURE_POLICY - 570)) | (1L << (WAIT_STATS_CAPTURE_MODE - 570)) | (1L << (MAX_PLANS_PER_QUERY - 570)) | (1L << (QUERY_CAPTURE_MODE - 570)) | (1L << (SIZE_BASED_CLEANUP_MODE - 570)) | (1L << (INTERVAL_LENGTH_MINUTES - 570)) | (1L << (MAX_STORAGE_SIZE_MB - 570)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 570)) | (1L << (CLEANUP_POLICY - 570)) | (1L << (CUSTOM - 570)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 570)) | (1L << (OPERATION_MODE - 570)) | (1L << (QUERY_STORE - 570)) | (1L << (CURSOR_DEFAULT - 570)) | (1L << (GLOBAL - 570)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 570)) | (1L << (HOURS - 570)) | (1L << (CHANGE_RETENTION - 570)) | (1L << (AUTO_CLEANUP - 570)) | (1L << (CHANGE_TRACKING - 570)) | (1L << (AUTOMATIC_TUNING - 570)) | (1L << (FORCE_LAST_GOOD_PLAN - 570)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 570)) | (1L << (AUTO_UPDATE_STATISTICS - 570)) | (1L << (AUTO_SHRINK - 570)) | (1L << (AUTO_CREATE_STATISTICS - 570)) | (1L << (INCREMENTAL - 570)) | (1L << (AUTO_CLOSE - 570)) | (1L << (DATA_RETENTION - 570)) | (1L << (TEMPORAL_HISTORY_RETENTION - 570)) | (1L << (EDITION - 570)))) != 0) || ((((_la - 634)) & ~0x3f) == 0 && ((1L << (_la - 634)) & ((1L << (MIXED_PAGE_ALLOCATION - 634)) | (1L << (DISABLED - 634)) | (1L << (ALLOWED - 634)) | (1L << (HADR - 634)) | (1L << (MULTI_USER - 634)) | (1L << (RESTRICTED_USER - 634)) | (1L << (SINGLE_USER - 634)) | (1L << (OFFLINE - 634)) | (1L << (EMERGENCY - 634)) | (1L << (SUSPEND - 634)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 634)) | (1L << (ELASTIC_POOL - 634)) | (1L << (SERVICE_OBJECTIVE - 634)) | (1L << (DATABASE_NAME - 634)) | (1L << (ALLOW_CONNECTIONS - 634)) | (1L << (GEO - 634)) | (1L << (NAMED - 634)) | (1L << (DATEFIRST - 634)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 634)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 634)) | (1L << (SECONDARY - 634)) | (1L << (FAILOVER - 634)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 634)) | (1L << (DEFAULT_LANGUAGE - 634)) | (1L << (INLINE - 634)) | (1L << (NESTED_TRIGGERS - 634)) | (1L << (TRANSFORM_NOISE_WORDS - 634)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 634)) | (1L << (PERSISTENT_LOG_BUFFER - 634)) | (1L << (DIRECTORY_NAME - 634)) | (1L << (DATEFORMAT - 634)) | (1L << (DELAYED_DURABILITY - 634)) | (1L << (AUTHORIZATION - 634)) | (1L << (TRANSFER - 634)) | (1L << (PROVIDER - 634)) | (1L << (SEARCH - 634)) | (1L << (MEMBER - 634)))) != 0)) ) {
3791 _errHandler.recoverInline(this);
3792 }
3793 else {
3794 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
3795 _errHandler.reportMatch(this);
3796 consume();
3797 }
3798 }
3799 }
3800 catch (RecognitionException re) {
3801 _localctx.exception = re;
3802 _errHandler.reportError(this, re);
3803 _errHandler.recover(this, re);
3804 }
3805 finally {
3806 exitRule();
3807 }
3808 return _localctx;
3809 }
3810
3811 public static class DatabaseNameContext extends ParserRuleContext {
3812 public IdentifierContext identifier() {
3813 return getRuleContext(IdentifierContext.class,0);
3814 }
3815 public DatabaseNameContext(ParserRuleContext parent, int invokingState) {
3816 super(parent, invokingState);
3817 }
3818 @Override public int getRuleIndex() { return RULE_databaseName; }
3819 @Override
3820 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3821 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseName(this);
3822 else return visitor.visitChildren(this);
3823 }
3824 }
3825
3826 public final DatabaseNameContext databaseName() throws RecognitionException {
3827 DatabaseNameContext _localctx = new DatabaseNameContext(_ctx, getState());
3828 enterRule(_localctx, 50, RULE_databaseName);
3829 try {
3830 enterOuterAlt(_localctx, 1);
3831 {
3832 setState(1198);
3833 identifier();
3834 }
3835 }
3836 catch (RecognitionException re) {
3837 _localctx.exception = re;
3838 _errHandler.reportError(this, re);
3839 _errHandler.recover(this, re);
3840 }
3841 finally {
3842 exitRule();
3843 }
3844 return _localctx;
3845 }
3846
3847 public static class SchemaNameContext extends ParserRuleContext {
3848 public IdentifierContext identifier() {
3849 return getRuleContext(IdentifierContext.class,0);
3850 }
3851 public SchemaNameContext(ParserRuleContext parent, int invokingState) {
3852 super(parent, invokingState);
3853 }
3854 @Override public int getRuleIndex() { return RULE_schemaName; }
3855 @Override
3856 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3857 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaName(this);
3858 else return visitor.visitChildren(this);
3859 }
3860 }
3861
3862 public final SchemaNameContext schemaName() throws RecognitionException {
3863 SchemaNameContext _localctx = new SchemaNameContext(_ctx, getState());
3864 enterRule(_localctx, 52, RULE_schemaName);
3865 try {
3866 enterOuterAlt(_localctx, 1);
3867 {
3868 setState(1200);
3869 identifier();
3870 }
3871 }
3872 catch (RecognitionException re) {
3873 _localctx.exception = re;
3874 _errHandler.reportError(this, re);
3875 _errHandler.recover(this, re);
3876 }
3877 finally {
3878 exitRule();
3879 }
3880 return _localctx;
3881 }
3882
3883 public static class FunctionNameContext extends ParserRuleContext {
3884 public NameContext name() {
3885 return getRuleContext(NameContext.class,0);
3886 }
3887 public OwnerContext owner() {
3888 return getRuleContext(OwnerContext.class,0);
3889 }
3890 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
3891 public FunctionNameContext(ParserRuleContext parent, int invokingState) {
3892 super(parent, invokingState);
3893 }
3894 @Override public int getRuleIndex() { return RULE_functionName; }
3895 @Override
3896 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3897 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFunctionName(this);
3898 else return visitor.visitChildren(this);
3899 }
3900 }
3901
3902 public final FunctionNameContext functionName() throws RecognitionException {
3903 FunctionNameContext _localctx = new FunctionNameContext(_ctx, getState());
3904 enterRule(_localctx, 54, RULE_functionName);
3905 try {
3906 enterOuterAlt(_localctx, 1);
3907 {
3908 setState(1205);
3909 _errHandler.sync(this);
3910 switch ( getInterpreter().adaptivePredict(_input,20,_ctx) ) {
3911 case 1:
3912 {
3913 setState(1202);
3914 owner();
3915 setState(1203);
3916 match(DOT_);
3917 }
3918 break;
3919 }
3920 setState(1207);
3921 name();
3922 }
3923 }
3924 catch (RecognitionException re) {
3925 _localctx.exception = re;
3926 _errHandler.reportError(this, re);
3927 _errHandler.recover(this, re);
3928 }
3929 finally {
3930 exitRule();
3931 }
3932 return _localctx;
3933 }
3934
3935 public static class ProcedureNameContext extends ParserRuleContext {
3936 public NameContext name() {
3937 return getRuleContext(NameContext.class,0);
3938 }
3939 public OwnerContext owner() {
3940 return getRuleContext(OwnerContext.class,0);
3941 }
3942 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
3943 public TerminalNode SEMI_() { return getToken(SQLServerStatementParser.SEMI_, 0); }
3944 public NumberLiteralsContext numberLiterals() {
3945 return getRuleContext(NumberLiteralsContext.class,0);
3946 }
3947 public ProcedureNameContext(ParserRuleContext parent, int invokingState) {
3948 super(parent, invokingState);
3949 }
3950 @Override public int getRuleIndex() { return RULE_procedureName; }
3951 @Override
3952 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3953 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcedureName(this);
3954 else return visitor.visitChildren(this);
3955 }
3956 }
3957
3958 public final ProcedureNameContext procedureName() throws RecognitionException {
3959 ProcedureNameContext _localctx = new ProcedureNameContext(_ctx, getState());
3960 enterRule(_localctx, 56, RULE_procedureName);
3961 try {
3962 enterOuterAlt(_localctx, 1);
3963 {
3964 setState(1212);
3965 _errHandler.sync(this);
3966 switch ( getInterpreter().adaptivePredict(_input,21,_ctx) ) {
3967 case 1:
3968 {
3969 setState(1209);
3970 owner();
3971 setState(1210);
3972 match(DOT_);
3973 }
3974 break;
3975 }
3976 setState(1214);
3977 name();
3978 setState(1217);
3979 _errHandler.sync(this);
3980 switch ( getInterpreter().adaptivePredict(_input,22,_ctx) ) {
3981 case 1:
3982 {
3983 setState(1215);
3984 match(SEMI_);
3985 setState(1216);
3986 numberLiterals();
3987 }
3988 break;
3989 }
3990 }
3991 }
3992 catch (RecognitionException re) {
3993 _localctx.exception = re;
3994 _errHandler.reportError(this, re);
3995 _errHandler.recover(this, re);
3996 }
3997 finally {
3998 exitRule();
3999 }
4000 return _localctx;
4001 }
4002
4003 public static class ViewNameContext extends ParserRuleContext {
4004 public NameContext name() {
4005 return getRuleContext(NameContext.class,0);
4006 }
4007 public OwnerContext owner() {
4008 return getRuleContext(OwnerContext.class,0);
4009 }
4010 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4011 public ViewNameContext(ParserRuleContext parent, int invokingState) {
4012 super(parent, invokingState);
4013 }
4014 @Override public int getRuleIndex() { return RULE_viewName; }
4015 @Override
4016 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4017 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitViewName(this);
4018 else return visitor.visitChildren(this);
4019 }
4020 }
4021
4022 public final ViewNameContext viewName() throws RecognitionException {
4023 ViewNameContext _localctx = new ViewNameContext(_ctx, getState());
4024 enterRule(_localctx, 58, RULE_viewName);
4025 try {
4026 enterOuterAlt(_localctx, 1);
4027 {
4028 setState(1222);
4029 _errHandler.sync(this);
4030 switch ( getInterpreter().adaptivePredict(_input,23,_ctx) ) {
4031 case 1:
4032 {
4033 setState(1219);
4034 owner();
4035 setState(1220);
4036 match(DOT_);
4037 }
4038 break;
4039 }
4040 setState(1224);
4041 name();
4042 }
4043 }
4044 catch (RecognitionException re) {
4045 _localctx.exception = re;
4046 _errHandler.reportError(this, re);
4047 _errHandler.recover(this, re);
4048 }
4049 finally {
4050 exitRule();
4051 }
4052 return _localctx;
4053 }
4054
4055 public static class TriggerNameContext extends ParserRuleContext {
4056 public NameContext name() {
4057 return getRuleContext(NameContext.class,0);
4058 }
4059 public SchemaNameContext schemaName() {
4060 return getRuleContext(SchemaNameContext.class,0);
4061 }
4062 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4063 public TriggerNameContext(ParserRuleContext parent, int invokingState) {
4064 super(parent, invokingState);
4065 }
4066 @Override public int getRuleIndex() { return RULE_triggerName; }
4067 @Override
4068 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4069 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTriggerName(this);
4070 else return visitor.visitChildren(this);
4071 }
4072 }
4073
4074 public final TriggerNameContext triggerName() throws RecognitionException {
4075 TriggerNameContext _localctx = new TriggerNameContext(_ctx, getState());
4076 enterRule(_localctx, 60, RULE_triggerName);
4077 try {
4078 enterOuterAlt(_localctx, 1);
4079 {
4080 setState(1229);
4081 _errHandler.sync(this);
4082 switch ( getInterpreter().adaptivePredict(_input,24,_ctx) ) {
4083 case 1:
4084 {
4085 setState(1226);
4086 schemaName();
4087 setState(1227);
4088 match(DOT_);
4089 }
4090 break;
4091 }
4092 setState(1231);
4093 name();
4094 }
4095 }
4096 catch (RecognitionException re) {
4097 _localctx.exception = re;
4098 _errHandler.reportError(this, re);
4099 _errHandler.recover(this, re);
4100 }
4101 finally {
4102 exitRule();
4103 }
4104 return _localctx;
4105 }
4106
4107 public static class SequenceNameContext extends ParserRuleContext {
4108 public NameContext name() {
4109 return getRuleContext(NameContext.class,0);
4110 }
4111 public SchemaNameContext schemaName() {
4112 return getRuleContext(SchemaNameContext.class,0);
4113 }
4114 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4115 public SequenceNameContext(ParserRuleContext parent, int invokingState) {
4116 super(parent, invokingState);
4117 }
4118 @Override public int getRuleIndex() { return RULE_sequenceName; }
4119 @Override
4120 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4121 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSequenceName(this);
4122 else return visitor.visitChildren(this);
4123 }
4124 }
4125
4126 public final SequenceNameContext sequenceName() throws RecognitionException {
4127 SequenceNameContext _localctx = new SequenceNameContext(_ctx, getState());
4128 enterRule(_localctx, 62, RULE_sequenceName);
4129 try {
4130 enterOuterAlt(_localctx, 1);
4131 {
4132 setState(1236);
4133 _errHandler.sync(this);
4134 switch ( getInterpreter().adaptivePredict(_input,25,_ctx) ) {
4135 case 1:
4136 {
4137 setState(1233);
4138 schemaName();
4139 setState(1234);
4140 match(DOT_);
4141 }
4142 break;
4143 }
4144 setState(1238);
4145 name();
4146 }
4147 }
4148 catch (RecognitionException re) {
4149 _localctx.exception = re;
4150 _errHandler.reportError(this, re);
4151 _errHandler.recover(this, re);
4152 }
4153 finally {
4154 exitRule();
4155 }
4156 return _localctx;
4157 }
4158
4159 public static class TableNameContext extends ParserRuleContext {
4160 public NameContext name() {
4161 return getRuleContext(NameContext.class,0);
4162 }
4163 public DatabaseNameContext databaseName() {
4164 return getRuleContext(DatabaseNameContext.class,0);
4165 }
4166 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
4167 public TerminalNode DOT_(int i) {
4168 return getToken(SQLServerStatementParser.DOT_, i);
4169 }
4170 public OwnerContext owner() {
4171 return getRuleContext(OwnerContext.class,0);
4172 }
4173 public TableNameContext(ParserRuleContext parent, int invokingState) {
4174 super(parent, invokingState);
4175 }
4176 @Override public int getRuleIndex() { return RULE_tableName; }
4177 @Override
4178 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4179 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableName(this);
4180 else return visitor.visitChildren(this);
4181 }
4182 }
4183
4184 public final TableNameContext tableName() throws RecognitionException {
4185 TableNameContext _localctx = new TableNameContext(_ctx, getState());
4186 enterRule(_localctx, 64, RULE_tableName);
4187 int _la;
4188 try {
4189 enterOuterAlt(_localctx, 1);
4190 {
4191 setState(1243);
4192 _errHandler.sync(this);
4193 switch ( getInterpreter().adaptivePredict(_input,26,_ctx) ) {
4194 case 1:
4195 {
4196 setState(1240);
4197 databaseName();
4198 setState(1241);
4199 match(DOT_);
4200 }
4201 break;
4202 }
4203 setState(1249);
4204 _errHandler.sync(this);
4205 switch ( getInterpreter().adaptivePredict(_input,28,_ctx) ) {
4206 case 1:
4207 {
4208 setState(1246);
4209 _errHandler.sync(this);
4210 _la = _input.LA(1);
4211 if (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (TRIM - 53)) | (1L << (SUBSTRING - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (TIMESTAMP - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (YEAR - 118)) | (1L << (QUARTER - 118)) | (1L << (MONTH - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)) | (1L << (TOP - 184)))) != 0) || ((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (ROW - 248)) | (1L << (ROWS - 248)) | (1L << (XOR - 248)) | (1L << (ALWAYS - 248)) | (1L << (ROLE - 248)) | (1L << (START - 248)) | (1L << (ALGORITHM - 248)) | (1L << (AUTO - 248)) | (1L << (BLOCKERS - 248)) | (1L << (CLUSTERED - 248)) | (1L << (NONCLUSTERED - 248)) | (1L << (COLUMNSTORE - 248)) | (1L << (CONTENT - 248)) | (1L << (YEARS - 248)) | (1L << (MONTHS - 248)) | (1L << (WEEKS - 248)) | (1L << (DAYS - 248)) | (1L << (MINUTES - 248)) | (1L << (DENY - 248)) | (1L << (DETERMINISTIC - 248)) | (1L << (DISTRIBUTION - 248)) | (1L << (DOCUMENT - 248)) | (1L << (DURABILITY - 248)) | (1L << (ENCRYPTED - 248)) | (1L << (FILESTREAM - 248)) | (1L << (FILETABLE - 248)) | (1L << (FILLFACTOR - 248)) | (1L << (FOLLOWING - 248)) | (1L << (HASH - 248)) | (1L << (HEAP - 248)) | (1L << (INBOUND - 248)) | (1L << (OUTBOUND - 248)) | (1L << (UNBOUNDED - 248)) | (1L << (INFINITE - 248)) | (1L << (LOGIN - 248)) | (1L << (MASKED - 248)) | (1L << (MAXDOP - 248)) | (1L << (MOVE - 248)) | (1L << (NOCHECK - 248)) | (1L << (OBJECT - 248)) | (1L << (ONLINE - 248)) | (1L << (OVER - 248)) | (1L << (PAGE - 248)) | (1L << (PAUSED - 248)) | (1L << (PERIOD - 248)) | (1L << (PERSISTED - 248)) | (1L << (PRECEDING - 248)) | (1L << (RANDOMIZED - 248)))) != 0) || ((((_la - 312)) & ~0x3f) == 0 && ((1L << (_la - 312)) & ((1L << (RANGE - 312)) | (1L << (REBUILD - 312)) | (1L << (REPLICATE - 312)) | (1L << (REPLICATION - 312)) | (1L << (RESUMABLE - 312)) | (1L << (ROWGUIDCOL - 312)) | (1L << (SAVE - 312)) | (1L << (SELF - 312)) | (1L << (SPARSE - 312)) | (1L << (SWITCH - 312)) | (1L << (TRAN - 312)) | (1L << (TRANCOUNT - 312)) | (1L << (CONTROL - 312)) | (1L << (CONCAT - 312)) | (1L << (TAKE - 312)) | (1L << (OWNERSHIP - 312)) | (1L << (DEFINITION - 312)) | (1L << (APPLICATION - 312)) | (1L << (ASSEMBLY - 312)) | (1L << (SYMMETRIC - 312)) | (1L << (ASYMMETRIC - 312)) | (1L << (SERVER - 312)) | (1L << (RECEIVE - 312)) | (1L << (CHANGE - 312)) | (1L << (TRACE - 312)) | (1L << (TRACKING - 312)) | (1L << (RESOURCES - 312)) | (1L << (SETTINGS - 312)) | (1L << (STATE - 312)) | (1L << (AVAILABILITY - 312)) | (1L << (CREDENTIAL - 312)) | (1L << (ENDPOINT - 312)) | (1L << (EVENT - 312)) | (1L << (NOTIFICATION - 312)) | (1L << (LINKED - 312)) | (1L << (AUDIT - 312)) | (1L << (DDL - 312)) | (1L << (XML - 312)) | (1L << (IMPERSONATE - 312)) | (1L << (SECURABLES - 312)) | (1L << (AUTHENTICATE - 312)) | (1L << (EXTERNAL - 312)) | (1L << (ACCESS - 312)) | (1L << (ADMINISTER - 312)) | (1L << (BULK - 312)) | (1L << (OPERATIONS - 312)) | (1L << (UNSAFE - 312)) | (1L << (SHUTDOWN - 312)) | (1L << (SCOPED - 312)) | (1L << (CONFIGURATION - 312)) | (1L << (DATASPACE - 312)) | (1L << (SERVICE - 312)) | (1L << (CERTIFICATE - 312)) | (1L << (CONTRACT - 312)) | (1L << (ENCRYPTION - 312)) | (1L << (MASTER - 312)) | (1L << (DATA - 312)))) != 0) || ((((_la - 376)) & ~0x3f) == 0 && ((1L << (_la - 376)) & ((1L << (SOURCE - 376)) | (1L << (FILE - 376)) | (1L << (FORMAT - 376)) | (1L << (LIBRARY - 376)) | (1L << (FULLTEXT - 376)) | (1L << (MASK - 376)) | (1L << (UNMASK - 376)) | (1L << (MESSAGE - 376)) | (1L << (REMOTE - 376)) | (1L << (BINDING - 376)) | (1L << (ROUTE - 376)) | (1L << (SECURITY - 376)) | (1L << (POLICY - 376)) | (1L << (AGGREGATE - 376)) | (1L << (QUEUE - 376)) | (1L << (RULE - 376)) | (1L << (SYNONYM - 376)) | (1L << (COLLECTION - 376)) | (1L << (SCRIPT - 376)) | (1L << (KILL - 376)) | (1L << (BACKUP - 376)) | (1L << (LOG - 376)) | (1L << (SHOWPLAN - 376)) | (1L << (SUBSCRIBE - 376)) | (1L << (QUERY - 376)) | (1L << (NOTIFICATIONS - 376)) | (1L << (CHECKPOINT - 376)) | (1L << (SEQUENCE - 376)) | (1L << (ABORT_AFTER_WAIT - 376)) | (1L << (ALLOW_PAGE_LOCKS - 376)) | (1L << (ALLOW_ROW_LOCKS - 376)) | (1L << (ALL_SPARSE_COLUMNS - 376)) | (1L << (BUCKET_COUNT - 376)) | (1L << (COLUMNSTORE_ARCHIVE - 376)) | (1L << (COLUMN_ENCRYPTION_KEY - 376)) | (1L << (COLUMN_SET - 376)) | (1L << (COMPRESSION_DELAY - 376)) | (1L << (DATABASE_DEAULT - 376)) | (1L << (DATA_COMPRESSION - 376)) | (1L << (DATA_CONSISTENCY_CHECK - 376)) | (1L << (ENCRYPTION_TYPE - 376)) | (1L << (SYSTEM_TIME - 376)) | (1L << (SYSTEM_VERSIONING - 376)) | (1L << (TEXTIMAGE_ON - 376)) | (1L << (WAIT_AT_LOW_PRIORITY - 376)) | (1L << (STATISTICS_INCREMENTAL - 376)) | (1L << (STATISTICS_NORECOMPUTE - 376)) | (1L << (ROUND_ROBIN - 376)) | (1L << (SCHEMA_AND_DATA - 376)) | (1L << (SCHEMA_ONLY - 376)) | (1L << (SORT_IN_TEMPDB - 376)) | (1L << (IGNORE_DUP_KEY - 376)) | (1L << (IMPLICIT_TRANSACTIONS - 376)) | (1L << (MAX_DURATION - 376)) | (1L << (MEMORY_OPTIMIZED - 376)) | (1L << (MIGRATION_STATE - 376)) | (1L << (PAD_INDEX - 376)) | (1L << (REMOTE_DATA_ARCHIVE - 376)) | (1L << (FILESTREAM_ON - 376)) | (1L << (FILETABLE_COLLATE_FILENAME - 376)) | (1L << (FILETABLE_DIRECTORY - 376)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 376)))) != 0) || ((((_la - 440)) & ~0x3f) == 0 && ((1L << (_la - 440)) & ((1L << (FILTER_PREDICATE - 440)) | (1L << (HISTORY_RETENTION_PERIOD - 440)) | (1L << (HISTORY_TABLE - 440)) | (1L << (LOCK_ESCALATION - 440)) | (1L << (DROP_EXISTING - 440)) | (1L << (ROW_NUMBER - 440)) | (1L << (FIRST - 440)) | (1L << (DATETIME2 - 440)) | (1L << (OUTPUT - 440)) | (1L << (INSERTED - 440)) | (1L << (DELETED - 440)))) != 0) || ((((_la - 504)) & ~0x3f) == 0 && ((1L << (_la - 504)) & ((1L << (FILENAME - 504)) | (1L << (SIZE - 504)) | (1L << (MAXSIZE - 504)) | (1L << (FILEGROWTH - 504)) | (1L << (UNLIMITED - 504)) | (1L << (KB - 504)) | (1L << (MB - 504)) | (1L << (GB - 504)) | (1L << (TB - 504)) | (1L << (CONTAINS - 504)) | (1L << (MEMORY_OPTIMIZED_DATA - 504)) | (1L << (FILEGROUP - 504)) | (1L << (NON_TRANSACTED_ACCESS - 504)) | (1L << (DB_CHAINING - 504)) | (1L << (TRUSTWORTHY - 504)) | (1L << (FORWARD_ONLY - 504)) | (1L << (KEYSET - 504)) | (1L << (FAST_FORWARD - 504)) | (1L << (SCROLL_LOCKS - 504)) | (1L << (OPTIMISTIC - 504)) | (1L << (TYPE_WARNING - 504)) | (1L << (SCHEMABINDING - 504)) | (1L << (CALLER - 504)) | (1L << (INPUT - 504)) | (1L << (OWNER - 504)) | (1L << (SNAPSHOT - 504)) | (1L << (REPEATABLE - 504)) | (1L << (SERIALIZABLE - 504)) | (1L << (NATIVE_COMPILATION - 504)) | (1L << (VIEW_METADATA - 504)) | (1L << (INSTEAD - 504)) | (1L << (APPEND - 504)) | (1L << (INCREMENT - 504)) | (1L << (CACHE - 504)) | (1L << (MINVALUE - 504)) | (1L << (MAXVALUE - 504)) | (1L << (RESTART - 504)) | (1L << (LOB_COMPACTION - 504)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 504)) | (1L << (REORGANIZE - 504)) | (1L << (RESUME - 504)) | (1L << (PAUSE - 504)) | (1L << (ABORT - 504)))) != 0) || ((((_la - 570)) & ~0x3f) == 0 && ((1L << (_la - 570)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 570)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 570)) | (1L << (IMMEDIATE - 570)) | (1L << (NO_WAIT - 570)) | (1L << (TARGET_RECOVERY_TIME - 570)) | (1L << (SECONDS - 570)) | (1L << (HONOR_BROKER_PRIORITY - 570)) | (1L << (ERROR_BROKER_CONVERSATIONS - 570)) | (1L << (NEW_BROKER - 570)) | (1L << (DISABLE_BROKER - 570)) | (1L << (ENABLE_BROKER - 570)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 570)) | (1L << (READ_COMMITTED_SNAPSHOT - 570)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 570)) | (1L << (RECURSIVE_TRIGGERS - 570)) | (1L << (QUOTED_IDENTIFIER - 570)) | (1L << (NUMERIC_ROUNDABORT - 570)) | (1L << (CONCAT_NULL_YIELDS_NULL - 570)) | (1L << (COMPATIBILITY_LEVEL - 570)) | (1L << (ARITHABORT - 570)) | (1L << (ANSI_WARNINGS - 570)) | (1L << (ANSI_PADDING - 570)) | (1L << (ANSI_NULLS - 570)) | (1L << (ANSI_NULL_DEFAULT - 570)) | (1L << (PAGE_VERIFY - 570)) | (1L << (CHECKSUM - 570)) | (1L << (TORN_PAGE_DETECTION - 570)) | (1L << (BULK_LOGGED - 570)) | (1L << (RECOVERY - 570)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 570)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 570)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 570)) | (1L << (EXECUTION_COUNT - 570)) | (1L << (QUERY_CAPTURE_POLICY - 570)) | (1L << (WAIT_STATS_CAPTURE_MODE - 570)) | (1L << (MAX_PLANS_PER_QUERY - 570)) | (1L << (QUERY_CAPTURE_MODE - 570)) | (1L << (SIZE_BASED_CLEANUP_MODE - 570)) | (1L << (INTERVAL_LENGTH_MINUTES - 570)) | (1L << (MAX_STORAGE_SIZE_MB - 570)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 570)) | (1L << (CLEANUP_POLICY - 570)) | (1L << (CUSTOM - 570)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 570)) | (1L << (OPERATION_MODE - 570)) | (1L << (QUERY_STORE - 570)) | (1L << (CURSOR_DEFAULT - 570)) | (1L << (GLOBAL - 570)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 570)) | (1L << (HOURS - 570)) | (1L << (CHANGE_RETENTION - 570)) | (1L << (AUTO_CLEANUP - 570)) | (1L << (CHANGE_TRACKING - 570)) | (1L << (AUTOMATIC_TUNING - 570)) | (1L << (FORCE_LAST_GOOD_PLAN - 570)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 570)) | (1L << (AUTO_UPDATE_STATISTICS - 570)) | (1L << (AUTO_SHRINK - 570)) | (1L << (AUTO_CREATE_STATISTICS - 570)) | (1L << (INCREMENTAL - 570)) | (1L << (AUTO_CLOSE - 570)) | (1L << (DATA_RETENTION - 570)) | (1L << (TEMPORAL_HISTORY_RETENTION - 570)) | (1L << (EDITION - 570)))) != 0) || ((((_la - 634)) & ~0x3f) == 0 && ((1L << (_la - 634)) & ((1L << (MIXED_PAGE_ALLOCATION - 634)) | (1L << (DISABLED - 634)) | (1L << (ALLOWED - 634)) | (1L << (HADR - 634)) | (1L << (MULTI_USER - 634)) | (1L << (RESTRICTED_USER - 634)) | (1L << (SINGLE_USER - 634)) | (1L << (OFFLINE - 634)) | (1L << (EMERGENCY - 634)) | (1L << (SUSPEND - 634)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 634)) | (1L << (ELASTIC_POOL - 634)) | (1L << (SERVICE_OBJECTIVE - 634)) | (1L << (DATABASE_NAME - 634)) | (1L << (ALLOW_CONNECTIONS - 634)) | (1L << (GEO - 634)) | (1L << (NAMED - 634)) | (1L << (DATEFIRST - 634)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 634)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 634)) | (1L << (SECONDARY - 634)) | (1L << (FAILOVER - 634)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 634)) | (1L << (DEFAULT_LANGUAGE - 634)) | (1L << (INLINE - 634)) | (1L << (NESTED_TRIGGERS - 634)) | (1L << (TRANSFORM_NOISE_WORDS - 634)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 634)) | (1L << (PERSISTENT_LOG_BUFFER - 634)) | (1L << (DIRECTORY_NAME - 634)) | (1L << (DATEFORMAT - 634)) | (1L << (DELAYED_DURABILITY - 634)) | (1L << (AUTHORIZATION - 634)) | (1L << (TRANSFER - 634)) | (1L << (PROVIDER - 634)) | (1L << (SEARCH - 634)) | (1L << (MEMBER - 634)))) != 0) || _la==IDENTIFIER_ || _la==DELIMITED_IDENTIFIER_) {
4212 {
4213 setState(1245);
4214 owner();
4215 }
4216 }
4217
4218 setState(1248);
4219 match(DOT_);
4220 }
4221 break;
4222 }
4223 setState(1251);
4224 name();
4225 }
4226 }
4227 catch (RecognitionException re) {
4228 _localctx.exception = re;
4229 _errHandler.reportError(this, re);
4230 _errHandler.recover(this, re);
4231 }
4232 finally {
4233 exitRule();
4234 }
4235 return _localctx;
4236 }
4237
4238 public static class QueueNameContext extends ParserRuleContext {
4239 public NameContext name() {
4240 return getRuleContext(NameContext.class,0);
4241 }
4242 public SchemaNameContext schemaName() {
4243 return getRuleContext(SchemaNameContext.class,0);
4244 }
4245 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4246 public QueueNameContext(ParserRuleContext parent, int invokingState) {
4247 super(parent, invokingState);
4248 }
4249 @Override public int getRuleIndex() { return RULE_queueName; }
4250 @Override
4251 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4252 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueueName(this);
4253 else return visitor.visitChildren(this);
4254 }
4255 }
4256
4257 public final QueueNameContext queueName() throws RecognitionException {
4258 QueueNameContext _localctx = new QueueNameContext(_ctx, getState());
4259 enterRule(_localctx, 66, RULE_queueName);
4260 try {
4261 enterOuterAlt(_localctx, 1);
4262 {
4263 setState(1256);
4264 _errHandler.sync(this);
4265 switch ( getInterpreter().adaptivePredict(_input,29,_ctx) ) {
4266 case 1:
4267 {
4268 setState(1253);
4269 schemaName();
4270 setState(1254);
4271 match(DOT_);
4272 }
4273 break;
4274 }
4275 setState(1258);
4276 name();
4277 }
4278 }
4279 catch (RecognitionException re) {
4280 _localctx.exception = re;
4281 _errHandler.reportError(this, re);
4282 _errHandler.recover(this, re);
4283 }
4284 finally {
4285 exitRule();
4286 }
4287 return _localctx;
4288 }
4289
4290 public static class ContractNameContext extends ParserRuleContext {
4291 public NameContext name() {
4292 return getRuleContext(NameContext.class,0);
4293 }
4294 public ContractNameContext(ParserRuleContext parent, int invokingState) {
4295 super(parent, invokingState);
4296 }
4297 @Override public int getRuleIndex() { return RULE_contractName; }
4298 @Override
4299 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4300 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitContractName(this);
4301 else return visitor.visitChildren(this);
4302 }
4303 }
4304
4305 public final ContractNameContext contractName() throws RecognitionException {
4306 ContractNameContext _localctx = new ContractNameContext(_ctx, getState());
4307 enterRule(_localctx, 68, RULE_contractName);
4308 try {
4309 enterOuterAlt(_localctx, 1);
4310 {
4311 setState(1260);
4312 name();
4313 }
4314 }
4315 catch (RecognitionException re) {
4316 _localctx.exception = re;
4317 _errHandler.reportError(this, re);
4318 _errHandler.recover(this, re);
4319 }
4320 finally {
4321 exitRule();
4322 }
4323 return _localctx;
4324 }
4325
4326 public static class ServiceNameContext extends ParserRuleContext {
4327 public NameContext name() {
4328 return getRuleContext(NameContext.class,0);
4329 }
4330 public ServiceNameContext(ParserRuleContext parent, int invokingState) {
4331 super(parent, invokingState);
4332 }
4333 @Override public int getRuleIndex() { return RULE_serviceName; }
4334 @Override
4335 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4336 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceName(this);
4337 else return visitor.visitChildren(this);
4338 }
4339 }
4340
4341 public final ServiceNameContext serviceName() throws RecognitionException {
4342 ServiceNameContext _localctx = new ServiceNameContext(_ctx, getState());
4343 enterRule(_localctx, 70, RULE_serviceName);
4344 try {
4345 enterOuterAlt(_localctx, 1);
4346 {
4347 setState(1262);
4348 name();
4349 }
4350 }
4351 catch (RecognitionException re) {
4352 _localctx.exception = re;
4353 _errHandler.reportError(this, re);
4354 _errHandler.recover(this, re);
4355 }
4356 finally {
4357 exitRule();
4358 }
4359 return _localctx;
4360 }
4361
4362 public static class ColumnNameContext extends ParserRuleContext {
4363 public NameContext name() {
4364 return getRuleContext(NameContext.class,0);
4365 }
4366 public ScriptVariableNameContext scriptVariableName() {
4367 return getRuleContext(ScriptVariableNameContext.class,0);
4368 }
4369 public OwnerContext owner() {
4370 return getRuleContext(OwnerContext.class,0);
4371 }
4372 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
4373 public TerminalNode DOT_(int i) {
4374 return getToken(SQLServerStatementParser.DOT_, i);
4375 }
4376 public DatabaseNameContext databaseName() {
4377 return getRuleContext(DatabaseNameContext.class,0);
4378 }
4379 public ColumnNameContext(ParserRuleContext parent, int invokingState) {
4380 super(parent, invokingState);
4381 }
4382 @Override public int getRuleIndex() { return RULE_columnName; }
4383 @Override
4384 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4385 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnName(this);
4386 else return visitor.visitChildren(this);
4387 }
4388 }
4389
4390 public final ColumnNameContext columnName() throws RecognitionException {
4391 ColumnNameContext _localctx = new ColumnNameContext(_ctx, getState());
4392 enterRule(_localctx, 72, RULE_columnName);
4393 try {
4394 enterOuterAlt(_localctx, 1);
4395 {
4396 setState(1272);
4397 _errHandler.sync(this);
4398 switch ( getInterpreter().adaptivePredict(_input,31,_ctx) ) {
4399 case 1:
4400 {
4401 setState(1267);
4402 _errHandler.sync(this);
4403 switch ( getInterpreter().adaptivePredict(_input,30,_ctx) ) {
4404 case 1:
4405 {
4406 setState(1264);
4407 databaseName();
4408 setState(1265);
4409 match(DOT_);
4410 }
4411 break;
4412 }
4413 {
4414 setState(1269);
4415 owner();
4416 setState(1270);
4417 match(DOT_);
4418 }
4419 }
4420 break;
4421 }
4422 setState(1276);
4423 _errHandler.sync(this);
4424 switch (_input.LA(1)) {
4425 case TRUNCATE:
4426 case SCHEMA:
4427 case COLUMNS:
4428 case PRECISION:
4429 case FUNCTION:
4430 case TRIGGER:
4431 case CAST:
4432 case TRIM:
4433 case SUBSTRING:
4434 case OFF:
4435 case GROUP:
4436 case LIMIT:
4437 case OFFSET:
4438 case SAVEPOINT:
4439 case BOOLEAN:
4440 case ARRAY:
4441 case DATE:
4442 case TIMESTAMP:
4443 case LOCALTIME:
4444 case LOCALTIMESTAMP:
4445 case YEAR:
4446 case QUARTER:
4447 case MONTH:
4448 case WEEK:
4449 case DAY:
4450 case SECOND:
4451 case MICROSECOND:
4452 case MAX:
4453 case MIN:
4454 case SUM:
4455 case COUNT:
4456 case AVG:
4457 case ENABLE:
4458 case DISABLE:
4459 case INSTANCE:
4460 case DO:
4461 case DEFINER:
4462 case SQL:
4463 case CASCADED:
4464 case LOCAL:
4465 case NEXT:
4466 case NAME:
4467 case INTEGER:
4468 case TYPE:
4469 case TEXT:
4470 case VIEWS:
4471 case READ_ONLY:
4472 case DATABASE:
4473 case RETURNS:
4474 case DATEPART:
4475 case PASSWORD:
4476 case BINARY:
4477 case HIDDEN_:
4478 case MOD:
4479 case PARTITION:
4480 case PARTITIONS:
4481 case TOP:
4482 case ROW:
4483 case ROWS:
4484 case XOR:
4485 case ALWAYS:
4486 case ROLE:
4487 case START:
4488 case ALGORITHM:
4489 case AUTO:
4490 case BLOCKERS:
4491 case CLUSTERED:
4492 case NONCLUSTERED:
4493 case COLUMNSTORE:
4494 case CONTENT:
4495 case YEARS:
4496 case MONTHS:
4497 case WEEKS:
4498 case DAYS:
4499 case MINUTES:
4500 case DENY:
4501 case DETERMINISTIC:
4502 case DISTRIBUTION:
4503 case DOCUMENT:
4504 case DURABILITY:
4505 case ENCRYPTED:
4506 case FILESTREAM:
4507 case FILETABLE:
4508 case FILLFACTOR:
4509 case FOLLOWING:
4510 case HASH:
4511 case HEAP:
4512 case INBOUND:
4513 case OUTBOUND:
4514 case UNBOUNDED:
4515 case INFINITE:
4516 case LOGIN:
4517 case MASKED:
4518 case MAXDOP:
4519 case MOVE:
4520 case NOCHECK:
4521 case OBJECT:
4522 case ONLINE:
4523 case OVER:
4524 case PAGE:
4525 case PAUSED:
4526 case PERIOD:
4527 case PERSISTED:
4528 case PRECEDING:
4529 case RANDOMIZED:
4530 case RANGE:
4531 case REBUILD:
4532 case REPLICATE:
4533 case REPLICATION:
4534 case RESUMABLE:
4535 case ROWGUIDCOL:
4536 case SAVE:
4537 case SELF:
4538 case SPARSE:
4539 case SWITCH:
4540 case TRAN:
4541 case TRANCOUNT:
4542 case CONTROL:
4543 case CONCAT:
4544 case TAKE:
4545 case OWNERSHIP:
4546 case DEFINITION:
4547 case APPLICATION:
4548 case ASSEMBLY:
4549 case SYMMETRIC:
4550 case ASYMMETRIC:
4551 case SERVER:
4552 case RECEIVE:
4553 case CHANGE:
4554 case TRACE:
4555 case TRACKING:
4556 case RESOURCES:
4557 case SETTINGS:
4558 case STATE:
4559 case AVAILABILITY:
4560 case CREDENTIAL:
4561 case ENDPOINT:
4562 case EVENT:
4563 case NOTIFICATION:
4564 case LINKED:
4565 case AUDIT:
4566 case DDL:
4567 case XML:
4568 case IMPERSONATE:
4569 case SECURABLES:
4570 case AUTHENTICATE:
4571 case EXTERNAL:
4572 case ACCESS:
4573 case ADMINISTER:
4574 case BULK:
4575 case OPERATIONS:
4576 case UNSAFE:
4577 case SHUTDOWN:
4578 case SCOPED:
4579 case CONFIGURATION:
4580 case DATASPACE:
4581 case SERVICE:
4582 case CERTIFICATE:
4583 case CONTRACT:
4584 case ENCRYPTION:
4585 case MASTER:
4586 case DATA:
4587 case SOURCE:
4588 case FILE:
4589 case FORMAT:
4590 case LIBRARY:
4591 case FULLTEXT:
4592 case MASK:
4593 case UNMASK:
4594 case MESSAGE:
4595 case REMOTE:
4596 case BINDING:
4597 case ROUTE:
4598 case SECURITY:
4599 case POLICY:
4600 case AGGREGATE:
4601 case QUEUE:
4602 case RULE:
4603 case SYNONYM:
4604 case COLLECTION:
4605 case SCRIPT:
4606 case KILL:
4607 case BACKUP:
4608 case LOG:
4609 case SHOWPLAN:
4610 case SUBSCRIBE:
4611 case QUERY:
4612 case NOTIFICATIONS:
4613 case CHECKPOINT:
4614 case SEQUENCE:
4615 case ABORT_AFTER_WAIT:
4616 case ALLOW_PAGE_LOCKS:
4617 case ALLOW_ROW_LOCKS:
4618 case ALL_SPARSE_COLUMNS:
4619 case BUCKET_COUNT:
4620 case COLUMNSTORE_ARCHIVE:
4621 case COLUMN_ENCRYPTION_KEY:
4622 case COLUMN_SET:
4623 case COMPRESSION_DELAY:
4624 case DATABASE_DEAULT:
4625 case DATA_COMPRESSION:
4626 case DATA_CONSISTENCY_CHECK:
4627 case ENCRYPTION_TYPE:
4628 case SYSTEM_TIME:
4629 case SYSTEM_VERSIONING:
4630 case TEXTIMAGE_ON:
4631 case WAIT_AT_LOW_PRIORITY:
4632 case STATISTICS_INCREMENTAL:
4633 case STATISTICS_NORECOMPUTE:
4634 case ROUND_ROBIN:
4635 case SCHEMA_AND_DATA:
4636 case SCHEMA_ONLY:
4637 case SORT_IN_TEMPDB:
4638 case IGNORE_DUP_KEY:
4639 case IMPLICIT_TRANSACTIONS:
4640 case MAX_DURATION:
4641 case MEMORY_OPTIMIZED:
4642 case MIGRATION_STATE:
4643 case PAD_INDEX:
4644 case REMOTE_DATA_ARCHIVE:
4645 case FILESTREAM_ON:
4646 case FILETABLE_COLLATE_FILENAME:
4647 case FILETABLE_DIRECTORY:
4648 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
4649 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
4650 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
4651 case FILTER_PREDICATE:
4652 case HISTORY_RETENTION_PERIOD:
4653 case HISTORY_TABLE:
4654 case LOCK_ESCALATION:
4655 case DROP_EXISTING:
4656 case ROW_NUMBER:
4657 case FIRST:
4658 case DATETIME2:
4659 case OUTPUT:
4660 case INSERTED:
4661 case DELETED:
4662 case FILENAME:
4663 case SIZE:
4664 case MAXSIZE:
4665 case FILEGROWTH:
4666 case UNLIMITED:
4667 case KB:
4668 case MB:
4669 case GB:
4670 case TB:
4671 case CONTAINS:
4672 case MEMORY_OPTIMIZED_DATA:
4673 case FILEGROUP:
4674 case NON_TRANSACTED_ACCESS:
4675 case DB_CHAINING:
4676 case TRUSTWORTHY:
4677 case FORWARD_ONLY:
4678 case KEYSET:
4679 case FAST_FORWARD:
4680 case SCROLL_LOCKS:
4681 case OPTIMISTIC:
4682 case TYPE_WARNING:
4683 case SCHEMABINDING:
4684 case CALLER:
4685 case INPUT:
4686 case OWNER:
4687 case SNAPSHOT:
4688 case REPEATABLE:
4689 case SERIALIZABLE:
4690 case NATIVE_COMPILATION:
4691 case VIEW_METADATA:
4692 case INSTEAD:
4693 case APPEND:
4694 case INCREMENT:
4695 case CACHE:
4696 case MINVALUE:
4697 case MAXVALUE:
4698 case RESTART:
4699 case LOB_COMPACTION:
4700 case COMPRESS_ALL_ROW_GROUPS:
4701 case REORGANIZE:
4702 case RESUME:
4703 case PAUSE:
4704 case ABORT:
4705 case ACCELERATED_DATABASE_RECOVERY:
4706 case PERSISTENT_VERSION_STORE_FILEGROUP:
4707 case IMMEDIATE:
4708 case NO_WAIT:
4709 case TARGET_RECOVERY_TIME:
4710 case SECONDS:
4711 case HONOR_BROKER_PRIORITY:
4712 case ERROR_BROKER_CONVERSATIONS:
4713 case NEW_BROKER:
4714 case DISABLE_BROKER:
4715 case ENABLE_BROKER:
4716 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
4717 case READ_COMMITTED_SNAPSHOT:
4718 case ALLOW_SNAPSHOT_ISOLATION:
4719 case RECURSIVE_TRIGGERS:
4720 case QUOTED_IDENTIFIER:
4721 case NUMERIC_ROUNDABORT:
4722 case CONCAT_NULL_YIELDS_NULL:
4723 case COMPATIBILITY_LEVEL:
4724 case ARITHABORT:
4725 case ANSI_WARNINGS:
4726 case ANSI_PADDING:
4727 case ANSI_NULLS:
4728 case ANSI_NULL_DEFAULT:
4729 case PAGE_VERIFY:
4730 case CHECKSUM:
4731 case TORN_PAGE_DETECTION:
4732 case BULK_LOGGED:
4733 case RECOVERY:
4734 case TOTAL_EXECUTION_CPU_TIME_MS:
4735 case TOTAL_COMPILE_CPU_TIME_MS:
4736 case STALE_CAPTURE_POLICY_THRESHOLD:
4737 case EXECUTION_COUNT:
4738 case QUERY_CAPTURE_POLICY:
4739 case WAIT_STATS_CAPTURE_MODE:
4740 case MAX_PLANS_PER_QUERY:
4741 case QUERY_CAPTURE_MODE:
4742 case SIZE_BASED_CLEANUP_MODE:
4743 case INTERVAL_LENGTH_MINUTES:
4744 case MAX_STORAGE_SIZE_MB:
4745 case DATA_FLUSH_INTERVAL_SECONDS:
4746 case CLEANUP_POLICY:
4747 case CUSTOM:
4748 case STALE_QUERY_THRESHOLD_DAYS:
4749 case OPERATION_MODE:
4750 case QUERY_STORE:
4751 case CURSOR_DEFAULT:
4752 case GLOBAL:
4753 case CURSOR_CLOSE_ON_COMMIT:
4754 case HOURS:
4755 case CHANGE_RETENTION:
4756 case AUTO_CLEANUP:
4757 case CHANGE_TRACKING:
4758 case AUTOMATIC_TUNING:
4759 case FORCE_LAST_GOOD_PLAN:
4760 case AUTO_UPDATE_STATISTICS_ASYNC:
4761 case AUTO_UPDATE_STATISTICS:
4762 case AUTO_SHRINK:
4763 case AUTO_CREATE_STATISTICS:
4764 case INCREMENTAL:
4765 case AUTO_CLOSE:
4766 case DATA_RETENTION:
4767 case TEMPORAL_HISTORY_RETENTION:
4768 case EDITION:
4769 case MIXED_PAGE_ALLOCATION:
4770 case DISABLED:
4771 case ALLOWED:
4772 case HADR:
4773 case MULTI_USER:
4774 case RESTRICTED_USER:
4775 case SINGLE_USER:
4776 case OFFLINE:
4777 case EMERGENCY:
4778 case SUSPEND:
4779 case DATE_CORRELATION_OPTIMIZATION:
4780 case ELASTIC_POOL:
4781 case SERVICE_OBJECTIVE:
4782 case DATABASE_NAME:
4783 case ALLOW_CONNECTIONS:
4784 case GEO:
4785 case NAMED:
4786 case DATEFIRST:
4787 case BACKUP_STORAGE_REDUNDANCY:
4788 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
4789 case SECONDARY:
4790 case FAILOVER:
4791 case DEFAULT_FULLTEXT_LANGUAGE:
4792 case DEFAULT_LANGUAGE:
4793 case INLINE:
4794 case NESTED_TRIGGERS:
4795 case TRANSFORM_NOISE_WORDS:
4796 case TWO_DIGIT_YEAR_CUTOFF:
4797 case PERSISTENT_LOG_BUFFER:
4798 case DIRECTORY_NAME:
4799 case DATEFORMAT:
4800 case DELAYED_DURABILITY:
4801 case AUTHORIZATION:
4802 case TRANSFER:
4803 case PROVIDER:
4804 case SEARCH:
4805 case MEMBER:
4806 case IDENTIFIER_:
4807 case DELIMITED_IDENTIFIER_:
4808 {
4809 setState(1274);
4810 name();
4811 }
4812 break;
4813 case DOLLAR_:
4814 {
4815 setState(1275);
4816 scriptVariableName();
4817 }
4818 break;
4819 default:
4820 throw new NoViableAltException(this);
4821 }
4822 }
4823 }
4824 catch (RecognitionException re) {
4825 _localctx.exception = re;
4826 _errHandler.reportError(this, re);
4827 _errHandler.recover(this, re);
4828 }
4829 finally {
4830 exitRule();
4831 }
4832 return _localctx;
4833 }
4834
4835 public static class ScriptVariableNameContext extends ParserRuleContext {
4836 public TerminalNode DOLLAR_() { return getToken(SQLServerStatementParser.DOLLAR_, 0); }
4837 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
4838 public NameContext name() {
4839 return getRuleContext(NameContext.class,0);
4840 }
4841 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
4842 public ScriptVariableNameContext(ParserRuleContext parent, int invokingState) {
4843 super(parent, invokingState);
4844 }
4845 @Override public int getRuleIndex() { return RULE_scriptVariableName; }
4846 @Override
4847 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4848 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitScriptVariableName(this);
4849 else return visitor.visitChildren(this);
4850 }
4851 }
4852
4853 public final ScriptVariableNameContext scriptVariableName() throws RecognitionException {
4854 ScriptVariableNameContext _localctx = new ScriptVariableNameContext(_ctx, getState());
4855 enterRule(_localctx, 74, RULE_scriptVariableName);
4856 try {
4857 enterOuterAlt(_localctx, 1);
4858 {
4859 setState(1278);
4860 match(DOLLAR_);
4861 setState(1279);
4862 match(LP_);
4863 setState(1280);
4864 name();
4865 setState(1281);
4866 match(RP_);
4867 }
4868 }
4869 catch (RecognitionException re) {
4870 _localctx.exception = re;
4871 _errHandler.reportError(this, re);
4872 _errHandler.recover(this, re);
4873 }
4874 finally {
4875 exitRule();
4876 }
4877 return _localctx;
4878 }
4879
4880 public static class OwnerContext extends ParserRuleContext {
4881 public IdentifierContext identifier() {
4882 return getRuleContext(IdentifierContext.class,0);
4883 }
4884 public OwnerContext(ParserRuleContext parent, int invokingState) {
4885 super(parent, invokingState);
4886 }
4887 @Override public int getRuleIndex() { return RULE_owner; }
4888 @Override
4889 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4890 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOwner(this);
4891 else return visitor.visitChildren(this);
4892 }
4893 }
4894
4895 public final OwnerContext owner() throws RecognitionException {
4896 OwnerContext _localctx = new OwnerContext(_ctx, getState());
4897 enterRule(_localctx, 76, RULE_owner);
4898 try {
4899 enterOuterAlt(_localctx, 1);
4900 {
4901 setState(1283);
4902 identifier();
4903 }
4904 }
4905 catch (RecognitionException re) {
4906 _localctx.exception = re;
4907 _errHandler.reportError(this, re);
4908 _errHandler.recover(this, re);
4909 }
4910 finally {
4911 exitRule();
4912 }
4913 return _localctx;
4914 }
4915
4916 public static class NameContext extends ParserRuleContext {
4917 public IdentifierContext identifier() {
4918 return getRuleContext(IdentifierContext.class,0);
4919 }
4920 public NameContext(ParserRuleContext parent, int invokingState) {
4921 super(parent, invokingState);
4922 }
4923 @Override public int getRuleIndex() { return RULE_name; }
4924 @Override
4925 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4926 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitName(this);
4927 else return visitor.visitChildren(this);
4928 }
4929 }
4930
4931 public final NameContext name() throws RecognitionException {
4932 NameContext _localctx = new NameContext(_ctx, getState());
4933 enterRule(_localctx, 78, RULE_name);
4934 try {
4935 enterOuterAlt(_localctx, 1);
4936 {
4937 setState(1285);
4938 identifier();
4939 }
4940 }
4941 catch (RecognitionException re) {
4942 _localctx.exception = re;
4943 _errHandler.reportError(this, re);
4944 _errHandler.recover(this, re);
4945 }
4946 finally {
4947 exitRule();
4948 }
4949 return _localctx;
4950 }
4951
4952 public static class ColumnNamesContext extends ParserRuleContext {
4953 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
4954 public List<ColumnNameContext> columnName() {
4955 return getRuleContexts(ColumnNameContext.class);
4956 }
4957 public ColumnNameContext columnName(int i) {
4958 return getRuleContext(ColumnNameContext.class,i);
4959 }
4960 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
4961 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
4962 public TerminalNode COMMA_(int i) {
4963 return getToken(SQLServerStatementParser.COMMA_, i);
4964 }
4965 public ColumnNamesContext(ParserRuleContext parent, int invokingState) {
4966 super(parent, invokingState);
4967 }
4968 @Override public int getRuleIndex() { return RULE_columnNames; }
4969 @Override
4970 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4971 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnNames(this);
4972 else return visitor.visitChildren(this);
4973 }
4974 }
4975
4976 public final ColumnNamesContext columnNames() throws RecognitionException {
4977 ColumnNamesContext _localctx = new ColumnNamesContext(_ctx, getState());
4978 enterRule(_localctx, 80, RULE_columnNames);
4979 int _la;
4980 try {
4981 enterOuterAlt(_localctx, 1);
4982 {
4983 setState(1287);
4984 match(LP_);
4985 setState(1288);
4986 columnName();
4987 setState(1293);
4988 _errHandler.sync(this);
4989 _la = _input.LA(1);
4990 while (_la==COMMA_) {
4991 {
4992 {
4993 setState(1289);
4994 match(COMMA_);
4995 setState(1290);
4996 columnName();
4997 }
4998 }
4999 setState(1295);
5000 _errHandler.sync(this);
5001 _la = _input.LA(1);
5002 }
5003 setState(1296);
5004 match(RP_);
5005 }
5006 }
5007 catch (RecognitionException re) {
5008 _localctx.exception = re;
5009 _errHandler.reportError(this, re);
5010 _errHandler.recover(this, re);
5011 }
5012 finally {
5013 exitRule();
5014 }
5015 return _localctx;
5016 }
5017
5018 public static class ColumnNamesWithSortContext extends ParserRuleContext {
5019 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
5020 public List<ColumnNameWithSortContext> columnNameWithSort() {
5021 return getRuleContexts(ColumnNameWithSortContext.class);
5022 }
5023 public ColumnNameWithSortContext columnNameWithSort(int i) {
5024 return getRuleContext(ColumnNameWithSortContext.class,i);
5025 }
5026 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
5027 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
5028 public TerminalNode COMMA_(int i) {
5029 return getToken(SQLServerStatementParser.COMMA_, i);
5030 }
5031 public ColumnNamesWithSortContext(ParserRuleContext parent, int invokingState) {
5032 super(parent, invokingState);
5033 }
5034 @Override public int getRuleIndex() { return RULE_columnNamesWithSort; }
5035 @Override
5036 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5037 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnNamesWithSort(this);
5038 else return visitor.visitChildren(this);
5039 }
5040 }
5041
5042 public final ColumnNamesWithSortContext columnNamesWithSort() throws RecognitionException {
5043 ColumnNamesWithSortContext _localctx = new ColumnNamesWithSortContext(_ctx, getState());
5044 enterRule(_localctx, 82, RULE_columnNamesWithSort);
5045 int _la;
5046 try {
5047 enterOuterAlt(_localctx, 1);
5048 {
5049 setState(1298);
5050 match(LP_);
5051 setState(1299);
5052 columnNameWithSort();
5053 setState(1304);
5054 _errHandler.sync(this);
5055 _la = _input.LA(1);
5056 while (_la==COMMA_) {
5057 {
5058 {
5059 setState(1300);
5060 match(COMMA_);
5061 setState(1301);
5062 columnNameWithSort();
5063 }
5064 }
5065 setState(1306);
5066 _errHandler.sync(this);
5067 _la = _input.LA(1);
5068 }
5069 setState(1307);
5070 match(RP_);
5071 }
5072 }
5073 catch (RecognitionException re) {
5074 _localctx.exception = re;
5075 _errHandler.reportError(this, re);
5076 _errHandler.recover(this, re);
5077 }
5078 finally {
5079 exitRule();
5080 }
5081 return _localctx;
5082 }
5083
5084 public static class TableNamesContext extends ParserRuleContext {
5085 public List<TableNameContext> tableName() {
5086 return getRuleContexts(TableNameContext.class);
5087 }
5088 public TableNameContext tableName(int i) {
5089 return getRuleContext(TableNameContext.class,i);
5090 }
5091 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
5092 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
5093 public TerminalNode COMMA_(int i) {
5094 return getToken(SQLServerStatementParser.COMMA_, i);
5095 }
5096 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
5097 public TableNamesContext(ParserRuleContext parent, int invokingState) {
5098 super(parent, invokingState);
5099 }
5100 @Override public int getRuleIndex() { return RULE_tableNames; }
5101 @Override
5102 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5103 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableNames(this);
5104 else return visitor.visitChildren(this);
5105 }
5106 }
5107
5108 public final TableNamesContext tableNames() throws RecognitionException {
5109 TableNamesContext _localctx = new TableNamesContext(_ctx, getState());
5110 enterRule(_localctx, 84, RULE_tableNames);
5111 int _la;
5112 try {
5113 enterOuterAlt(_localctx, 1);
5114 {
5115 setState(1310);
5116 _errHandler.sync(this);
5117 _la = _input.LA(1);
5118 if (_la==LP_) {
5119 {
5120 setState(1309);
5121 match(LP_);
5122 }
5123 }
5124
5125 setState(1312);
5126 tableName();
5127 setState(1317);
5128 _errHandler.sync(this);
5129 _la = _input.LA(1);
5130 while (_la==COMMA_) {
5131 {
5132 {
5133 setState(1313);
5134 match(COMMA_);
5135 setState(1314);
5136 tableName();
5137 }
5138 }
5139 setState(1319);
5140 _errHandler.sync(this);
5141 _la = _input.LA(1);
5142 }
5143 setState(1321);
5144 _errHandler.sync(this);
5145 _la = _input.LA(1);
5146 if (_la==RP_) {
5147 {
5148 setState(1320);
5149 match(RP_);
5150 }
5151 }
5152
5153 }
5154 }
5155 catch (RecognitionException re) {
5156 _localctx.exception = re;
5157 _errHandler.reportError(this, re);
5158 _errHandler.recover(this, re);
5159 }
5160 finally {
5161 exitRule();
5162 }
5163 return _localctx;
5164 }
5165
5166 public static class IndexNameContext extends ParserRuleContext {
5167 public IdentifierContext identifier() {
5168 return getRuleContext(IdentifierContext.class,0);
5169 }
5170 public IndexNameContext(ParserRuleContext parent, int invokingState) {
5171 super(parent, invokingState);
5172 }
5173 @Override public int getRuleIndex() { return RULE_indexName; }
5174 @Override
5175 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5176 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexName(this);
5177 else return visitor.visitChildren(this);
5178 }
5179 }
5180
5181 public final IndexNameContext indexName() throws RecognitionException {
5182 IndexNameContext _localctx = new IndexNameContext(_ctx, getState());
5183 enterRule(_localctx, 86, RULE_indexName);
5184 try {
5185 enterOuterAlt(_localctx, 1);
5186 {
5187 setState(1323);
5188 identifier();
5189 }
5190 }
5191 catch (RecognitionException re) {
5192 _localctx.exception = re;
5193 _errHandler.reportError(this, re);
5194 _errHandler.recover(this, re);
5195 }
5196 finally {
5197 exitRule();
5198 }
5199 return _localctx;
5200 }
5201
5202 public static class ConstraintNameContext extends ParserRuleContext {
5203 public IdentifierContext identifier() {
5204 return getRuleContext(IdentifierContext.class,0);
5205 }
5206 public ConstraintNameContext(ParserRuleContext parent, int invokingState) {
5207 super(parent, invokingState);
5208 }
5209 @Override public int getRuleIndex() { return RULE_constraintName; }
5210 @Override
5211 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5212 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConstraintName(this);
5213 else return visitor.visitChildren(this);
5214 }
5215 }
5216
5217 public final ConstraintNameContext constraintName() throws RecognitionException {
5218 ConstraintNameContext _localctx = new ConstraintNameContext(_ctx, getState());
5219 enterRule(_localctx, 88, RULE_constraintName);
5220 try {
5221 enterOuterAlt(_localctx, 1);
5222 {
5223 setState(1325);
5224 identifier();
5225 }
5226 }
5227 catch (RecognitionException re) {
5228 _localctx.exception = re;
5229 _errHandler.reportError(this, re);
5230 _errHandler.recover(this, re);
5231 }
5232 finally {
5233 exitRule();
5234 }
5235 return _localctx;
5236 }
5237
5238 public static class CollationNameContext extends ParserRuleContext {
5239 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
5240 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
5241 public CollationNameContext(ParserRuleContext parent, int invokingState) {
5242 super(parent, invokingState);
5243 }
5244 @Override public int getRuleIndex() { return RULE_collationName; }
5245 @Override
5246 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5247 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCollationName(this);
5248 else return visitor.visitChildren(this);
5249 }
5250 }
5251
5252 public final CollationNameContext collationName() throws RecognitionException {
5253 CollationNameContext _localctx = new CollationNameContext(_ctx, getState());
5254 enterRule(_localctx, 90, RULE_collationName);
5255 int _la;
5256 try {
5257 enterOuterAlt(_localctx, 1);
5258 {
5259 setState(1327);
5260 _la = _input.LA(1);
5261 if ( !(_la==IDENTIFIER_ || _la==STRING_) ) {
5262 _errHandler.recoverInline(this);
5263 }
5264 else {
5265 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
5266 _errHandler.reportMatch(this);
5267 consume();
5268 }
5269 }
5270 }
5271 catch (RecognitionException re) {
5272 _localctx.exception = re;
5273 _errHandler.reportError(this, re);
5274 _errHandler.recover(this, re);
5275 }
5276 finally {
5277 exitRule();
5278 }
5279 return _localctx;
5280 }
5281
5282 public static class AliasContext extends ParserRuleContext {
5283 public IdentifierContext identifier() {
5284 return getRuleContext(IdentifierContext.class,0);
5285 }
5286 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
5287 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
5288 public AliasContext(ParserRuleContext parent, int invokingState) {
5289 super(parent, invokingState);
5290 }
5291 @Override public int getRuleIndex() { return RULE_alias; }
5292 @Override
5293 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5294 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlias(this);
5295 else return visitor.visitChildren(this);
5296 }
5297 }
5298
5299 public final AliasContext alias() throws RecognitionException {
5300 AliasContext _localctx = new AliasContext(_ctx, getState());
5301 enterRule(_localctx, 92, RULE_alias);
5302 try {
5303 setState(1332);
5304 _errHandler.sync(this);
5305 switch (_input.LA(1)) {
5306 case TRUNCATE:
5307 case SCHEMA:
5308 case COLUMNS:
5309 case PRECISION:
5310 case FUNCTION:
5311 case TRIGGER:
5312 case CAST:
5313 case TRIM:
5314 case SUBSTRING:
5315 case OFF:
5316 case GROUP:
5317 case LIMIT:
5318 case OFFSET:
5319 case SAVEPOINT:
5320 case BOOLEAN:
5321 case ARRAY:
5322 case DATE:
5323 case TIMESTAMP:
5324 case LOCALTIME:
5325 case LOCALTIMESTAMP:
5326 case YEAR:
5327 case QUARTER:
5328 case MONTH:
5329 case WEEK:
5330 case DAY:
5331 case SECOND:
5332 case MICROSECOND:
5333 case MAX:
5334 case MIN:
5335 case SUM:
5336 case COUNT:
5337 case AVG:
5338 case ENABLE:
5339 case DISABLE:
5340 case INSTANCE:
5341 case DO:
5342 case DEFINER:
5343 case SQL:
5344 case CASCADED:
5345 case LOCAL:
5346 case NEXT:
5347 case NAME:
5348 case INTEGER:
5349 case TYPE:
5350 case TEXT:
5351 case VIEWS:
5352 case READ_ONLY:
5353 case DATABASE:
5354 case RETURNS:
5355 case DATEPART:
5356 case PASSWORD:
5357 case BINARY:
5358 case HIDDEN_:
5359 case MOD:
5360 case PARTITION:
5361 case PARTITIONS:
5362 case TOP:
5363 case ROW:
5364 case ROWS:
5365 case XOR:
5366 case ALWAYS:
5367 case ROLE:
5368 case START:
5369 case ALGORITHM:
5370 case AUTO:
5371 case BLOCKERS:
5372 case CLUSTERED:
5373 case NONCLUSTERED:
5374 case COLUMNSTORE:
5375 case CONTENT:
5376 case YEARS:
5377 case MONTHS:
5378 case WEEKS:
5379 case DAYS:
5380 case MINUTES:
5381 case DENY:
5382 case DETERMINISTIC:
5383 case DISTRIBUTION:
5384 case DOCUMENT:
5385 case DURABILITY:
5386 case ENCRYPTED:
5387 case FILESTREAM:
5388 case FILETABLE:
5389 case FILLFACTOR:
5390 case FOLLOWING:
5391 case HASH:
5392 case HEAP:
5393 case INBOUND:
5394 case OUTBOUND:
5395 case UNBOUNDED:
5396 case INFINITE:
5397 case LOGIN:
5398 case MASKED:
5399 case MAXDOP:
5400 case MOVE:
5401 case NOCHECK:
5402 case OBJECT:
5403 case ONLINE:
5404 case OVER:
5405 case PAGE:
5406 case PAUSED:
5407 case PERIOD:
5408 case PERSISTED:
5409 case PRECEDING:
5410 case RANDOMIZED:
5411 case RANGE:
5412 case REBUILD:
5413 case REPLICATE:
5414 case REPLICATION:
5415 case RESUMABLE:
5416 case ROWGUIDCOL:
5417 case SAVE:
5418 case SELF:
5419 case SPARSE:
5420 case SWITCH:
5421 case TRAN:
5422 case TRANCOUNT:
5423 case CONTROL:
5424 case CONCAT:
5425 case TAKE:
5426 case OWNERSHIP:
5427 case DEFINITION:
5428 case APPLICATION:
5429 case ASSEMBLY:
5430 case SYMMETRIC:
5431 case ASYMMETRIC:
5432 case SERVER:
5433 case RECEIVE:
5434 case CHANGE:
5435 case TRACE:
5436 case TRACKING:
5437 case RESOURCES:
5438 case SETTINGS:
5439 case STATE:
5440 case AVAILABILITY:
5441 case CREDENTIAL:
5442 case ENDPOINT:
5443 case EVENT:
5444 case NOTIFICATION:
5445 case LINKED:
5446 case AUDIT:
5447 case DDL:
5448 case XML:
5449 case IMPERSONATE:
5450 case SECURABLES:
5451 case AUTHENTICATE:
5452 case EXTERNAL:
5453 case ACCESS:
5454 case ADMINISTER:
5455 case BULK:
5456 case OPERATIONS:
5457 case UNSAFE:
5458 case SHUTDOWN:
5459 case SCOPED:
5460 case CONFIGURATION:
5461 case DATASPACE:
5462 case SERVICE:
5463 case CERTIFICATE:
5464 case CONTRACT:
5465 case ENCRYPTION:
5466 case MASTER:
5467 case DATA:
5468 case SOURCE:
5469 case FILE:
5470 case FORMAT:
5471 case LIBRARY:
5472 case FULLTEXT:
5473 case MASK:
5474 case UNMASK:
5475 case MESSAGE:
5476 case REMOTE:
5477 case BINDING:
5478 case ROUTE:
5479 case SECURITY:
5480 case POLICY:
5481 case AGGREGATE:
5482 case QUEUE:
5483 case RULE:
5484 case SYNONYM:
5485 case COLLECTION:
5486 case SCRIPT:
5487 case KILL:
5488 case BACKUP:
5489 case LOG:
5490 case SHOWPLAN:
5491 case SUBSCRIBE:
5492 case QUERY:
5493 case NOTIFICATIONS:
5494 case CHECKPOINT:
5495 case SEQUENCE:
5496 case ABORT_AFTER_WAIT:
5497 case ALLOW_PAGE_LOCKS:
5498 case ALLOW_ROW_LOCKS:
5499 case ALL_SPARSE_COLUMNS:
5500 case BUCKET_COUNT:
5501 case COLUMNSTORE_ARCHIVE:
5502 case COLUMN_ENCRYPTION_KEY:
5503 case COLUMN_SET:
5504 case COMPRESSION_DELAY:
5505 case DATABASE_DEAULT:
5506 case DATA_COMPRESSION:
5507 case DATA_CONSISTENCY_CHECK:
5508 case ENCRYPTION_TYPE:
5509 case SYSTEM_TIME:
5510 case SYSTEM_VERSIONING:
5511 case TEXTIMAGE_ON:
5512 case WAIT_AT_LOW_PRIORITY:
5513 case STATISTICS_INCREMENTAL:
5514 case STATISTICS_NORECOMPUTE:
5515 case ROUND_ROBIN:
5516 case SCHEMA_AND_DATA:
5517 case SCHEMA_ONLY:
5518 case SORT_IN_TEMPDB:
5519 case IGNORE_DUP_KEY:
5520 case IMPLICIT_TRANSACTIONS:
5521 case MAX_DURATION:
5522 case MEMORY_OPTIMIZED:
5523 case MIGRATION_STATE:
5524 case PAD_INDEX:
5525 case REMOTE_DATA_ARCHIVE:
5526 case FILESTREAM_ON:
5527 case FILETABLE_COLLATE_FILENAME:
5528 case FILETABLE_DIRECTORY:
5529 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
5530 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
5531 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
5532 case FILTER_PREDICATE:
5533 case HISTORY_RETENTION_PERIOD:
5534 case HISTORY_TABLE:
5535 case LOCK_ESCALATION:
5536 case DROP_EXISTING:
5537 case ROW_NUMBER:
5538 case FIRST:
5539 case DATETIME2:
5540 case OUTPUT:
5541 case INSERTED:
5542 case DELETED:
5543 case FILENAME:
5544 case SIZE:
5545 case MAXSIZE:
5546 case FILEGROWTH:
5547 case UNLIMITED:
5548 case KB:
5549 case MB:
5550 case GB:
5551 case TB:
5552 case CONTAINS:
5553 case MEMORY_OPTIMIZED_DATA:
5554 case FILEGROUP:
5555 case NON_TRANSACTED_ACCESS:
5556 case DB_CHAINING:
5557 case TRUSTWORTHY:
5558 case FORWARD_ONLY:
5559 case KEYSET:
5560 case FAST_FORWARD:
5561 case SCROLL_LOCKS:
5562 case OPTIMISTIC:
5563 case TYPE_WARNING:
5564 case SCHEMABINDING:
5565 case CALLER:
5566 case INPUT:
5567 case OWNER:
5568 case SNAPSHOT:
5569 case REPEATABLE:
5570 case SERIALIZABLE:
5571 case NATIVE_COMPILATION:
5572 case VIEW_METADATA:
5573 case INSTEAD:
5574 case APPEND:
5575 case INCREMENT:
5576 case CACHE:
5577 case MINVALUE:
5578 case MAXVALUE:
5579 case RESTART:
5580 case LOB_COMPACTION:
5581 case COMPRESS_ALL_ROW_GROUPS:
5582 case REORGANIZE:
5583 case RESUME:
5584 case PAUSE:
5585 case ABORT:
5586 case ACCELERATED_DATABASE_RECOVERY:
5587 case PERSISTENT_VERSION_STORE_FILEGROUP:
5588 case IMMEDIATE:
5589 case NO_WAIT:
5590 case TARGET_RECOVERY_TIME:
5591 case SECONDS:
5592 case HONOR_BROKER_PRIORITY:
5593 case ERROR_BROKER_CONVERSATIONS:
5594 case NEW_BROKER:
5595 case DISABLE_BROKER:
5596 case ENABLE_BROKER:
5597 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
5598 case READ_COMMITTED_SNAPSHOT:
5599 case ALLOW_SNAPSHOT_ISOLATION:
5600 case RECURSIVE_TRIGGERS:
5601 case QUOTED_IDENTIFIER:
5602 case NUMERIC_ROUNDABORT:
5603 case CONCAT_NULL_YIELDS_NULL:
5604 case COMPATIBILITY_LEVEL:
5605 case ARITHABORT:
5606 case ANSI_WARNINGS:
5607 case ANSI_PADDING:
5608 case ANSI_NULLS:
5609 case ANSI_NULL_DEFAULT:
5610 case PAGE_VERIFY:
5611 case CHECKSUM:
5612 case TORN_PAGE_DETECTION:
5613 case BULK_LOGGED:
5614 case RECOVERY:
5615 case TOTAL_EXECUTION_CPU_TIME_MS:
5616 case TOTAL_COMPILE_CPU_TIME_MS:
5617 case STALE_CAPTURE_POLICY_THRESHOLD:
5618 case EXECUTION_COUNT:
5619 case QUERY_CAPTURE_POLICY:
5620 case WAIT_STATS_CAPTURE_MODE:
5621 case MAX_PLANS_PER_QUERY:
5622 case QUERY_CAPTURE_MODE:
5623 case SIZE_BASED_CLEANUP_MODE:
5624 case INTERVAL_LENGTH_MINUTES:
5625 case MAX_STORAGE_SIZE_MB:
5626 case DATA_FLUSH_INTERVAL_SECONDS:
5627 case CLEANUP_POLICY:
5628 case CUSTOM:
5629 case STALE_QUERY_THRESHOLD_DAYS:
5630 case OPERATION_MODE:
5631 case QUERY_STORE:
5632 case CURSOR_DEFAULT:
5633 case GLOBAL:
5634 case CURSOR_CLOSE_ON_COMMIT:
5635 case HOURS:
5636 case CHANGE_RETENTION:
5637 case AUTO_CLEANUP:
5638 case CHANGE_TRACKING:
5639 case AUTOMATIC_TUNING:
5640 case FORCE_LAST_GOOD_PLAN:
5641 case AUTO_UPDATE_STATISTICS_ASYNC:
5642 case AUTO_UPDATE_STATISTICS:
5643 case AUTO_SHRINK:
5644 case AUTO_CREATE_STATISTICS:
5645 case INCREMENTAL:
5646 case AUTO_CLOSE:
5647 case DATA_RETENTION:
5648 case TEMPORAL_HISTORY_RETENTION:
5649 case EDITION:
5650 case MIXED_PAGE_ALLOCATION:
5651 case DISABLED:
5652 case ALLOWED:
5653 case HADR:
5654 case MULTI_USER:
5655 case RESTRICTED_USER:
5656 case SINGLE_USER:
5657 case OFFLINE:
5658 case EMERGENCY:
5659 case SUSPEND:
5660 case DATE_CORRELATION_OPTIMIZATION:
5661 case ELASTIC_POOL:
5662 case SERVICE_OBJECTIVE:
5663 case DATABASE_NAME:
5664 case ALLOW_CONNECTIONS:
5665 case GEO:
5666 case NAMED:
5667 case DATEFIRST:
5668 case BACKUP_STORAGE_REDUNDANCY:
5669 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
5670 case SECONDARY:
5671 case FAILOVER:
5672 case DEFAULT_FULLTEXT_LANGUAGE:
5673 case DEFAULT_LANGUAGE:
5674 case INLINE:
5675 case NESTED_TRIGGERS:
5676 case TRANSFORM_NOISE_WORDS:
5677 case TWO_DIGIT_YEAR_CUTOFF:
5678 case PERSISTENT_LOG_BUFFER:
5679 case DIRECTORY_NAME:
5680 case DATEFORMAT:
5681 case DELAYED_DURABILITY:
5682 case AUTHORIZATION:
5683 case TRANSFER:
5684 case PROVIDER:
5685 case SEARCH:
5686 case MEMBER:
5687 case IDENTIFIER_:
5688 case DELIMITED_IDENTIFIER_:
5689 enterOuterAlt(_localctx, 1);
5690 {
5691 setState(1329);
5692 identifier();
5693 }
5694 break;
5695 case STRING_:
5696 enterOuterAlt(_localctx, 2);
5697 {
5698 setState(1330);
5699 match(STRING_);
5700 }
5701 break;
5702 case NCHAR_TEXT:
5703 enterOuterAlt(_localctx, 3);
5704 {
5705 setState(1331);
5706 match(NCHAR_TEXT);
5707 }
5708 break;
5709 default:
5710 throw new NoViableAltException(this);
5711 }
5712 }
5713 catch (RecognitionException re) {
5714 _localctx.exception = re;
5715 _errHandler.reportError(this, re);
5716 _errHandler.recover(this, re);
5717 }
5718 finally {
5719 exitRule();
5720 }
5721 return _localctx;
5722 }
5723
5724 public static class DataTypeLengthContext extends ParserRuleContext {
5725 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
5726 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
5727 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
5728 public TerminalNode NUMBER_(int i) {
5729 return getToken(SQLServerStatementParser.NUMBER_, i);
5730 }
5731 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
5732 public DataTypeLengthContext(ParserRuleContext parent, int invokingState) {
5733 super(parent, invokingState);
5734 }
5735 @Override public int getRuleIndex() { return RULE_dataTypeLength; }
5736 @Override
5737 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5738 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataTypeLength(this);
5739 else return visitor.visitChildren(this);
5740 }
5741 }
5742
5743 public final DataTypeLengthContext dataTypeLength() throws RecognitionException {
5744 DataTypeLengthContext _localctx = new DataTypeLengthContext(_ctx, getState());
5745 enterRule(_localctx, 94, RULE_dataTypeLength);
5746 int _la;
5747 try {
5748 enterOuterAlt(_localctx, 1);
5749 {
5750 setState(1334);
5751 match(LP_);
5752 setState(1340);
5753 _errHandler.sync(this);
5754 _la = _input.LA(1);
5755 if (_la==NUMBER_) {
5756 {
5757 setState(1335);
5758 match(NUMBER_);
5759 setState(1338);
5760 _errHandler.sync(this);
5761 _la = _input.LA(1);
5762 if (_la==COMMA_) {
5763 {
5764 setState(1336);
5765 match(COMMA_);
5766 setState(1337);
5767 match(NUMBER_);
5768 }
5769 }
5770
5771 }
5772 }
5773
5774 setState(1342);
5775 match(RP_);
5776 }
5777 }
5778 catch (RecognitionException re) {
5779 _localctx.exception = re;
5780 _errHandler.reportError(this, re);
5781 _errHandler.recover(this, re);
5782 }
5783 finally {
5784 exitRule();
5785 }
5786 return _localctx;
5787 }
5788
5789 public static class PrimaryKeyContext extends ParserRuleContext {
5790 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
5791 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
5792 public PrimaryKeyContext(ParserRuleContext parent, int invokingState) {
5793 super(parent, invokingState);
5794 }
5795 @Override public int getRuleIndex() { return RULE_primaryKey; }
5796 @Override
5797 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5798 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKey(this);
5799 else return visitor.visitChildren(this);
5800 }
5801 }
5802
5803 public final PrimaryKeyContext primaryKey() throws RecognitionException {
5804 PrimaryKeyContext _localctx = new PrimaryKeyContext(_ctx, getState());
5805 enterRule(_localctx, 96, RULE_primaryKey);
5806 int _la;
5807 try {
5808 enterOuterAlt(_localctx, 1);
5809 {
5810 setState(1345);
5811 _errHandler.sync(this);
5812 _la = _input.LA(1);
5813 if (_la==PRIMARY) {
5814 {
5815 setState(1344);
5816 match(PRIMARY);
5817 }
5818 }
5819
5820 setState(1347);
5821 match(KEY);
5822 }
5823 }
5824 catch (RecognitionException re) {
5825 _localctx.exception = re;
5826 _errHandler.reportError(this, re);
5827 _errHandler.recover(this, re);
5828 }
5829 finally {
5830 exitRule();
5831 }
5832 return _localctx;
5833 }
5834
5835 public static class ExprContext extends ParserRuleContext {
5836 public BooleanPrimaryContext booleanPrimary() {
5837 return getRuleContext(BooleanPrimaryContext.class,0);
5838 }
5839 public NotOperatorContext notOperator() {
5840 return getRuleContext(NotOperatorContext.class,0);
5841 }
5842 public List<ExprContext> expr() {
5843 return getRuleContexts(ExprContext.class);
5844 }
5845 public ExprContext expr(int i) {
5846 return getRuleContext(ExprContext.class,i);
5847 }
5848 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
5849 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
5850 public AndOperatorContext andOperator() {
5851 return getRuleContext(AndOperatorContext.class,0);
5852 }
5853 public OrOperatorContext orOperator() {
5854 return getRuleContext(OrOperatorContext.class,0);
5855 }
5856 public DistinctFromContext distinctFrom() {
5857 return getRuleContext(DistinctFromContext.class,0);
5858 }
5859 public ExprContext(ParserRuleContext parent, int invokingState) {
5860 super(parent, invokingState);
5861 }
5862 @Override public int getRuleIndex() { return RULE_expr; }
5863 @Override
5864 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5865 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExpr(this);
5866 else return visitor.visitChildren(this);
5867 }
5868 }
5869
5870 public final ExprContext expr() throws RecognitionException {
5871 return expr(0);
5872 }
5873
5874 private ExprContext expr(int _p) throws RecognitionException {
5875 ParserRuleContext _parentctx = _ctx;
5876 int _parentState = getState();
5877 ExprContext _localctx = new ExprContext(_ctx, _parentState);
5878 ExprContext _prevctx = _localctx;
5879 int _startState = 98;
5880 enterRecursionRule(_localctx, 98, RULE_expr, _p);
5881 try {
5882 int _alt;
5883 enterOuterAlt(_localctx, 1);
5884 {
5885 setState(1358);
5886 _errHandler.sync(this);
5887 switch ( getInterpreter().adaptivePredict(_input,42,_ctx) ) {
5888 case 1:
5889 {
5890 setState(1350);
5891 booleanPrimary(0);
5892 }
5893 break;
5894 case 2:
5895 {
5896 setState(1351);
5897 notOperator();
5898 setState(1352);
5899 expr(2);
5900 }
5901 break;
5902 case 3:
5903 {
5904 setState(1354);
5905 match(LP_);
5906 setState(1355);
5907 expr(0);
5908 setState(1356);
5909 match(RP_);
5910 }
5911 break;
5912 }
5913 _ctx.stop = _input.LT(-1);
5914 setState(1374);
5915 _errHandler.sync(this);
5916 _alt = getInterpreter().adaptivePredict(_input,44,_ctx);
5917 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
5918 if ( _alt==1 ) {
5919 if ( _parseListeners!=null ) triggerExitRuleEvent();
5920 _prevctx = _localctx;
5921 {
5922 setState(1372);
5923 _errHandler.sync(this);
5924 switch ( getInterpreter().adaptivePredict(_input,43,_ctx) ) {
5925 case 1:
5926 {
5927 _localctx = new ExprContext(_parentctx, _parentState);
5928 pushNewRecursionContext(_localctx, _startState, RULE_expr);
5929 setState(1360);
5930 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
5931 setState(1361);
5932 andOperator();
5933 setState(1362);
5934 expr(6);
5935 }
5936 break;
5937 case 2:
5938 {
5939 _localctx = new ExprContext(_parentctx, _parentState);
5940 pushNewRecursionContext(_localctx, _startState, RULE_expr);
5941 setState(1364);
5942 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
5943 setState(1365);
5944 orOperator();
5945 setState(1366);
5946 expr(5);
5947 }
5948 break;
5949 case 3:
5950 {
5951 _localctx = new ExprContext(_parentctx, _parentState);
5952 pushNewRecursionContext(_localctx, _startState, RULE_expr);
5953 setState(1368);
5954 if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
5955 setState(1369);
5956 distinctFrom();
5957 setState(1370);
5958 expr(4);
5959 }
5960 break;
5961 }
5962 }
5963 }
5964 setState(1376);
5965 _errHandler.sync(this);
5966 _alt = getInterpreter().adaptivePredict(_input,44,_ctx);
5967 }
5968 }
5969 }
5970 catch (RecognitionException re) {
5971 _localctx.exception = re;
5972 _errHandler.reportError(this, re);
5973 _errHandler.recover(this, re);
5974 }
5975 finally {
5976 unrollRecursionContexts(_parentctx);
5977 }
5978 return _localctx;
5979 }
5980
5981 public static class AndOperatorContext extends ParserRuleContext {
5982 public TerminalNode AND() { return getToken(SQLServerStatementParser.AND, 0); }
5983 public TerminalNode AND_() { return getToken(SQLServerStatementParser.AND_, 0); }
5984 public AndOperatorContext(ParserRuleContext parent, int invokingState) {
5985 super(parent, invokingState);
5986 }
5987 @Override public int getRuleIndex() { return RULE_andOperator; }
5988 @Override
5989 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5990 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAndOperator(this);
5991 else return visitor.visitChildren(this);
5992 }
5993 }
5994
5995 public final AndOperatorContext andOperator() throws RecognitionException {
5996 AndOperatorContext _localctx = new AndOperatorContext(_ctx, getState());
5997 enterRule(_localctx, 100, RULE_andOperator);
5998 int _la;
5999 try {
6000 enterOuterAlt(_localctx, 1);
6001 {
6002 setState(1377);
6003 _la = _input.LA(1);
6004 if ( !(_la==AND_ || _la==AND) ) {
6005 _errHandler.recoverInline(this);
6006 }
6007 else {
6008 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6009 _errHandler.reportMatch(this);
6010 consume();
6011 }
6012 }
6013 }
6014 catch (RecognitionException re) {
6015 _localctx.exception = re;
6016 _errHandler.reportError(this, re);
6017 _errHandler.recover(this, re);
6018 }
6019 finally {
6020 exitRule();
6021 }
6022 return _localctx;
6023 }
6024
6025 public static class OrOperatorContext extends ParserRuleContext {
6026 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
6027 public TerminalNode OR_() { return getToken(SQLServerStatementParser.OR_, 0); }
6028 public OrOperatorContext(ParserRuleContext parent, int invokingState) {
6029 super(parent, invokingState);
6030 }
6031 @Override public int getRuleIndex() { return RULE_orOperator; }
6032 @Override
6033 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6034 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOrOperator(this);
6035 else return visitor.visitChildren(this);
6036 }
6037 }
6038
6039 public final OrOperatorContext orOperator() throws RecognitionException {
6040 OrOperatorContext _localctx = new OrOperatorContext(_ctx, getState());
6041 enterRule(_localctx, 102, RULE_orOperator);
6042 int _la;
6043 try {
6044 enterOuterAlt(_localctx, 1);
6045 {
6046 setState(1379);
6047 _la = _input.LA(1);
6048 if ( !(_la==OR_ || _la==OR) ) {
6049 _errHandler.recoverInline(this);
6050 }
6051 else {
6052 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6053 _errHandler.reportMatch(this);
6054 consume();
6055 }
6056 }
6057 }
6058 catch (RecognitionException re) {
6059 _localctx.exception = re;
6060 _errHandler.reportError(this, re);
6061 _errHandler.recover(this, re);
6062 }
6063 finally {
6064 exitRule();
6065 }
6066 return _localctx;
6067 }
6068
6069 public static class DistinctFromContext extends ParserRuleContext {
6070 public TerminalNode IS() { return getToken(SQLServerStatementParser.IS, 0); }
6071 public TerminalNode DISTINCT() { return getToken(SQLServerStatementParser.DISTINCT, 0); }
6072 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
6073 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
6074 public DistinctFromContext(ParserRuleContext parent, int invokingState) {
6075 super(parent, invokingState);
6076 }
6077 @Override public int getRuleIndex() { return RULE_distinctFrom; }
6078 @Override
6079 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6080 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDistinctFrom(this);
6081 else return visitor.visitChildren(this);
6082 }
6083 }
6084
6085 public final DistinctFromContext distinctFrom() throws RecognitionException {
6086 DistinctFromContext _localctx = new DistinctFromContext(_ctx, getState());
6087 enterRule(_localctx, 104, RULE_distinctFrom);
6088 int _la;
6089 try {
6090 enterOuterAlt(_localctx, 1);
6091 {
6092 setState(1381);
6093 match(IS);
6094 setState(1383);
6095 _errHandler.sync(this);
6096 _la = _input.LA(1);
6097 if (_la==NOT) {
6098 {
6099 setState(1382);
6100 match(NOT);
6101 }
6102 }
6103
6104 setState(1385);
6105 match(DISTINCT);
6106 setState(1386);
6107 match(FROM);
6108 }
6109 }
6110 catch (RecognitionException re) {
6111 _localctx.exception = re;
6112 _errHandler.reportError(this, re);
6113 _errHandler.recover(this, re);
6114 }
6115 finally {
6116 exitRule();
6117 }
6118 return _localctx;
6119 }
6120
6121 public static class NotOperatorContext extends ParserRuleContext {
6122 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
6123 public TerminalNode NOT_() { return getToken(SQLServerStatementParser.NOT_, 0); }
6124 public NotOperatorContext(ParserRuleContext parent, int invokingState) {
6125 super(parent, invokingState);
6126 }
6127 @Override public int getRuleIndex() { return RULE_notOperator; }
6128 @Override
6129 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6130 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNotOperator(this);
6131 else return visitor.visitChildren(this);
6132 }
6133 }
6134
6135 public final NotOperatorContext notOperator() throws RecognitionException {
6136 NotOperatorContext _localctx = new NotOperatorContext(_ctx, getState());
6137 enterRule(_localctx, 106, RULE_notOperator);
6138 int _la;
6139 try {
6140 enterOuterAlt(_localctx, 1);
6141 {
6142 setState(1388);
6143 _la = _input.LA(1);
6144 if ( !(_la==NOT_ || _la==NOT) ) {
6145 _errHandler.recoverInline(this);
6146 }
6147 else {
6148 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6149 _errHandler.reportMatch(this);
6150 consume();
6151 }
6152 }
6153 }
6154 catch (RecognitionException re) {
6155 _localctx.exception = re;
6156 _errHandler.reportError(this, re);
6157 _errHandler.recover(this, re);
6158 }
6159 finally {
6160 exitRule();
6161 }
6162 return _localctx;
6163 }
6164
6165 public static class BooleanPrimaryContext extends ParserRuleContext {
6166 public PredicateContext predicate() {
6167 return getRuleContext(PredicateContext.class,0);
6168 }
6169 public BooleanPrimaryContext booleanPrimary() {
6170 return getRuleContext(BooleanPrimaryContext.class,0);
6171 }
6172 public TerminalNode IS() { return getToken(SQLServerStatementParser.IS, 0); }
6173 public TerminalNode TRUE() { return getToken(SQLServerStatementParser.TRUE, 0); }
6174 public TerminalNode FALSE() { return getToken(SQLServerStatementParser.FALSE, 0); }
6175 public TerminalNode UNKNOWN() { return getToken(SQLServerStatementParser.UNKNOWN, 0); }
6176 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
6177 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
6178 public TerminalNode SAFE_EQ_() { return getToken(SQLServerStatementParser.SAFE_EQ_, 0); }
6179 public ComparisonOperatorContext comparisonOperator() {
6180 return getRuleContext(ComparisonOperatorContext.class,0);
6181 }
6182 public SubqueryContext subquery() {
6183 return getRuleContext(SubqueryContext.class,0);
6184 }
6185 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
6186 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
6187 public BooleanPrimaryContext(ParserRuleContext parent, int invokingState) {
6188 super(parent, invokingState);
6189 }
6190 @Override public int getRuleIndex() { return RULE_booleanPrimary; }
6191 @Override
6192 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6193 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBooleanPrimary(this);
6194 else return visitor.visitChildren(this);
6195 }
6196 }
6197
6198 public final BooleanPrimaryContext booleanPrimary() throws RecognitionException {
6199 return booleanPrimary(0);
6200 }
6201
6202 private BooleanPrimaryContext booleanPrimary(int _p) throws RecognitionException {
6203 ParserRuleContext _parentctx = _ctx;
6204 int _parentState = getState();
6205 BooleanPrimaryContext _localctx = new BooleanPrimaryContext(_ctx, _parentState);
6206 BooleanPrimaryContext _prevctx = _localctx;
6207 int _startState = 108;
6208 enterRecursionRule(_localctx, 108, RULE_booleanPrimary, _p);
6209 int _la;
6210 try {
6211 int _alt;
6212 enterOuterAlt(_localctx, 1);
6213 {
6214 {
6215 setState(1391);
6216 predicate();
6217 }
6218 _ctx.stop = _input.LT(-1);
6219 setState(1413);
6220 _errHandler.sync(this);
6221 _alt = getInterpreter().adaptivePredict(_input,48,_ctx);
6222 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
6223 if ( _alt==1 ) {
6224 if ( _parseListeners!=null ) triggerExitRuleEvent();
6225 _prevctx = _localctx;
6226 {
6227 setState(1411);
6228 _errHandler.sync(this);
6229 switch ( getInterpreter().adaptivePredict(_input,47,_ctx) ) {
6230 case 1:
6231 {
6232 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6233 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6234 setState(1393);
6235 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
6236 setState(1394);
6237 match(IS);
6238 setState(1396);
6239 _errHandler.sync(this);
6240 _la = _input.LA(1);
6241 if (_la==NOT) {
6242 {
6243 setState(1395);
6244 match(NOT);
6245 }
6246 }
6247
6248 setState(1398);
6249 _la = _input.LA(1);
6250 if ( !(((((_la - 108)) & ~0x3f) == 0 && ((1L << (_la - 108)) & ((1L << (NULL - 108)) | (1L << (TRUE - 108)) | (1L << (FALSE - 108)))) != 0) || _la==UNKNOWN) ) {
6251 _errHandler.recoverInline(this);
6252 }
6253 else {
6254 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6255 _errHandler.reportMatch(this);
6256 consume();
6257 }
6258 }
6259 break;
6260 case 2:
6261 {
6262 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6263 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6264 setState(1399);
6265 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
6266 setState(1400);
6267 match(SAFE_EQ_);
6268 setState(1401);
6269 predicate();
6270 }
6271 break;
6272 case 3:
6273 {
6274 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6275 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6276 setState(1402);
6277 if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
6278 setState(1403);
6279 comparisonOperator();
6280 setState(1404);
6281 predicate();
6282 }
6283 break;
6284 case 4:
6285 {
6286 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6287 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6288 setState(1406);
6289 if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
6290 setState(1407);
6291 comparisonOperator();
6292 setState(1408);
6293 _la = _input.LA(1);
6294 if ( !(_la==ALL || _la==ANY) ) {
6295 _errHandler.recoverInline(this);
6296 }
6297 else {
6298 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6299 _errHandler.reportMatch(this);
6300 consume();
6301 }
6302 setState(1409);
6303 subquery();
6304 }
6305 break;
6306 }
6307 }
6308 }
6309 setState(1415);
6310 _errHandler.sync(this);
6311 _alt = getInterpreter().adaptivePredict(_input,48,_ctx);
6312 }
6313 }
6314 }
6315 catch (RecognitionException re) {
6316 _localctx.exception = re;
6317 _errHandler.reportError(this, re);
6318 _errHandler.recover(this, re);
6319 }
6320 finally {
6321 unrollRecursionContexts(_parentctx);
6322 }
6323 return _localctx;
6324 }
6325
6326 public static class ComparisonOperatorContext extends ParserRuleContext {
6327 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
6328 public TerminalNode GTE_() { return getToken(SQLServerStatementParser.GTE_, 0); }
6329 public TerminalNode GT_() { return getToken(SQLServerStatementParser.GT_, 0); }
6330 public TerminalNode LTE_() { return getToken(SQLServerStatementParser.LTE_, 0); }
6331 public TerminalNode LT_() { return getToken(SQLServerStatementParser.LT_, 0); }
6332 public TerminalNode NEQ_() { return getToken(SQLServerStatementParser.NEQ_, 0); }
6333 public ComparisonOperatorContext(ParserRuleContext parent, int invokingState) {
6334 super(parent, invokingState);
6335 }
6336 @Override public int getRuleIndex() { return RULE_comparisonOperator; }
6337 @Override
6338 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6339 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComparisonOperator(this);
6340 else return visitor.visitChildren(this);
6341 }
6342 }
6343
6344 public final ComparisonOperatorContext comparisonOperator() throws RecognitionException {
6345 ComparisonOperatorContext _localctx = new ComparisonOperatorContext(_ctx, getState());
6346 enterRule(_localctx, 110, RULE_comparisonOperator);
6347 int _la;
6348 try {
6349 enterOuterAlt(_localctx, 1);
6350 {
6351 setState(1416);
6352 _la = _input.LA(1);
6353 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << EQ_) | (1L << NEQ_) | (1L << GT_) | (1L << GTE_) | (1L << LT_) | (1L << LTE_))) != 0)) ) {
6354 _errHandler.recoverInline(this);
6355 }
6356 else {
6357 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6358 _errHandler.reportMatch(this);
6359 consume();
6360 }
6361 }
6362 }
6363 catch (RecognitionException re) {
6364 _localctx.exception = re;
6365 _errHandler.reportError(this, re);
6366 _errHandler.recover(this, re);
6367 }
6368 finally {
6369 exitRule();
6370 }
6371 return _localctx;
6372 }
6373
6374 public static class PredicateContext extends ParserRuleContext {
6375 public List<BitExprContext> bitExpr() {
6376 return getRuleContexts(BitExprContext.class);
6377 }
6378 public BitExprContext bitExpr(int i) {
6379 return getRuleContext(BitExprContext.class,i);
6380 }
6381 public TerminalNode IN() { return getToken(SQLServerStatementParser.IN, 0); }
6382 public SubqueryContext subquery() {
6383 return getRuleContext(SubqueryContext.class,0);
6384 }
6385 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
6386 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
6387 public List<ExprContext> expr() {
6388 return getRuleContexts(ExprContext.class);
6389 }
6390 public ExprContext expr(int i) {
6391 return getRuleContext(ExprContext.class,i);
6392 }
6393 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
6394 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
6395 public TerminalNode COMMA_(int i) {
6396 return getToken(SQLServerStatementParser.COMMA_, i);
6397 }
6398 public TerminalNode BETWEEN() { return getToken(SQLServerStatementParser.BETWEEN, 0); }
6399 public TerminalNode AND() { return getToken(SQLServerStatementParser.AND, 0); }
6400 public PredicateContext predicate() {
6401 return getRuleContext(PredicateContext.class,0);
6402 }
6403 public TerminalNode LIKE() { return getToken(SQLServerStatementParser.LIKE, 0); }
6404 public List<SimpleExprContext> simpleExpr() {
6405 return getRuleContexts(SimpleExprContext.class);
6406 }
6407 public SimpleExprContext simpleExpr(int i) {
6408 return getRuleContext(SimpleExprContext.class,i);
6409 }
6410 public TerminalNode ESCAPE() { return getToken(SQLServerStatementParser.ESCAPE, 0); }
6411 public PredicateContext(ParserRuleContext parent, int invokingState) {
6412 super(parent, invokingState);
6413 }
6414 @Override public int getRuleIndex() { return RULE_predicate; }
6415 @Override
6416 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6417 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPredicate(this);
6418 else return visitor.visitChildren(this);
6419 }
6420 }
6421
6422 public final PredicateContext predicate() throws RecognitionException {
6423 PredicateContext _localctx = new PredicateContext(_ctx, getState());
6424 enterRule(_localctx, 112, RULE_predicate);
6425 int _la;
6426 try {
6427 setState(1461);
6428 _errHandler.sync(this);
6429 switch ( getInterpreter().adaptivePredict(_input,55,_ctx) ) {
6430 case 1:
6431 enterOuterAlt(_localctx, 1);
6432 {
6433 setState(1418);
6434 bitExpr(0);
6435 setState(1420);
6436 _errHandler.sync(this);
6437 _la = _input.LA(1);
6438 if (_la==NOT) {
6439 {
6440 setState(1419);
6441 match(NOT);
6442 }
6443 }
6444
6445 setState(1422);
6446 match(IN);
6447 setState(1423);
6448 subquery();
6449 }
6450 break;
6451 case 2:
6452 enterOuterAlt(_localctx, 2);
6453 {
6454 setState(1425);
6455 bitExpr(0);
6456 setState(1427);
6457 _errHandler.sync(this);
6458 _la = _input.LA(1);
6459 if (_la==NOT) {
6460 {
6461 setState(1426);
6462 match(NOT);
6463 }
6464 }
6465
6466 setState(1429);
6467 match(IN);
6468 setState(1430);
6469 match(LP_);
6470 setState(1431);
6471 expr(0);
6472 setState(1436);
6473 _errHandler.sync(this);
6474 _la = _input.LA(1);
6475 while (_la==COMMA_) {
6476 {
6477 {
6478 setState(1432);
6479 match(COMMA_);
6480 setState(1433);
6481 expr(0);
6482 }
6483 }
6484 setState(1438);
6485 _errHandler.sync(this);
6486 _la = _input.LA(1);
6487 }
6488 setState(1439);
6489 match(RP_);
6490 }
6491 break;
6492 case 3:
6493 enterOuterAlt(_localctx, 3);
6494 {
6495 setState(1441);
6496 bitExpr(0);
6497 setState(1443);
6498 _errHandler.sync(this);
6499 _la = _input.LA(1);
6500 if (_la==NOT) {
6501 {
6502 setState(1442);
6503 match(NOT);
6504 }
6505 }
6506
6507 setState(1445);
6508 match(BETWEEN);
6509 setState(1446);
6510 bitExpr(0);
6511 setState(1447);
6512 match(AND);
6513 setState(1448);
6514 predicate();
6515 }
6516 break;
6517 case 4:
6518 enterOuterAlt(_localctx, 4);
6519 {
6520 setState(1450);
6521 bitExpr(0);
6522 setState(1452);
6523 _errHandler.sync(this);
6524 _la = _input.LA(1);
6525 if (_la==NOT) {
6526 {
6527 setState(1451);
6528 match(NOT);
6529 }
6530 }
6531
6532 setState(1454);
6533 match(LIKE);
6534 setState(1455);
6535 simpleExpr(0);
6536 setState(1458);
6537 _errHandler.sync(this);
6538 switch ( getInterpreter().adaptivePredict(_input,54,_ctx) ) {
6539 case 1:
6540 {
6541 setState(1456);
6542 match(ESCAPE);
6543 setState(1457);
6544 simpleExpr(0);
6545 }
6546 break;
6547 }
6548 }
6549 break;
6550 case 5:
6551 enterOuterAlt(_localctx, 5);
6552 {
6553 setState(1460);
6554 bitExpr(0);
6555 }
6556 break;
6557 }
6558 }
6559 catch (RecognitionException re) {
6560 _localctx.exception = re;
6561 _errHandler.reportError(this, re);
6562 _errHandler.recover(this, re);
6563 }
6564 finally {
6565 exitRule();
6566 }
6567 return _localctx;
6568 }
6569
6570 public static class BitExprContext extends ParserRuleContext {
6571 public SimpleExprContext simpleExpr() {
6572 return getRuleContext(SimpleExprContext.class,0);
6573 }
6574 public List<BitExprContext> bitExpr() {
6575 return getRuleContexts(BitExprContext.class);
6576 }
6577 public BitExprContext bitExpr(int i) {
6578 return getRuleContext(BitExprContext.class,i);
6579 }
6580 public TerminalNode VERTICAL_BAR_() { return getToken(SQLServerStatementParser.VERTICAL_BAR_, 0); }
6581 public TerminalNode AMPERSAND_() { return getToken(SQLServerStatementParser.AMPERSAND_, 0); }
6582 public TerminalNode SIGNED_LEFT_SHIFT_() { return getToken(SQLServerStatementParser.SIGNED_LEFT_SHIFT_, 0); }
6583 public TerminalNode SIGNED_RIGHT_SHIFT_() { return getToken(SQLServerStatementParser.SIGNED_RIGHT_SHIFT_, 0); }
6584 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
6585 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
6586 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
6587 public TerminalNode SLASH_() { return getToken(SQLServerStatementParser.SLASH_, 0); }
6588 public TerminalNode MOD_() { return getToken(SQLServerStatementParser.MOD_, 0); }
6589 public TerminalNode CARET_() { return getToken(SQLServerStatementParser.CARET_, 0); }
6590 public BitExprContext(ParserRuleContext parent, int invokingState) {
6591 super(parent, invokingState);
6592 }
6593 @Override public int getRuleIndex() { return RULE_bitExpr; }
6594 @Override
6595 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6596 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBitExpr(this);
6597 else return visitor.visitChildren(this);
6598 }
6599 }
6600
6601 public final BitExprContext bitExpr() throws RecognitionException {
6602 return bitExpr(0);
6603 }
6604
6605 private BitExprContext bitExpr(int _p) throws RecognitionException {
6606 ParserRuleContext _parentctx = _ctx;
6607 int _parentState = getState();
6608 BitExprContext _localctx = new BitExprContext(_ctx, _parentState);
6609 BitExprContext _prevctx = _localctx;
6610 int _startState = 114;
6611 enterRecursionRule(_localctx, 114, RULE_bitExpr, _p);
6612 try {
6613 int _alt;
6614 enterOuterAlt(_localctx, 1);
6615 {
6616 {
6617 setState(1464);
6618 simpleExpr(0);
6619 }
6620 _ctx.stop = _input.LT(-1);
6621 setState(1498);
6622 _errHandler.sync(this);
6623 _alt = getInterpreter().adaptivePredict(_input,57,_ctx);
6624 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
6625 if ( _alt==1 ) {
6626 if ( _parseListeners!=null ) triggerExitRuleEvent();
6627 _prevctx = _localctx;
6628 {
6629 setState(1496);
6630 _errHandler.sync(this);
6631 switch ( getInterpreter().adaptivePredict(_input,56,_ctx) ) {
6632 case 1:
6633 {
6634 _localctx = new BitExprContext(_parentctx, _parentState);
6635 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6636 setState(1466);
6637 if (!(precpred(_ctx, 11))) throw new FailedPredicateException(this, "precpred(_ctx, 11)");
6638 setState(1467);
6639 match(VERTICAL_BAR_);
6640 setState(1468);
6641 bitExpr(12);
6642 }
6643 break;
6644 case 2:
6645 {
6646 _localctx = new BitExprContext(_parentctx, _parentState);
6647 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6648 setState(1469);
6649 if (!(precpred(_ctx, 10))) throw new FailedPredicateException(this, "precpred(_ctx, 10)");
6650 setState(1470);
6651 match(AMPERSAND_);
6652 setState(1471);
6653 bitExpr(11);
6654 }
6655 break;
6656 case 3:
6657 {
6658 _localctx = new BitExprContext(_parentctx, _parentState);
6659 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6660 setState(1472);
6661 if (!(precpred(_ctx, 9))) throw new FailedPredicateException(this, "precpred(_ctx, 9)");
6662 setState(1473);
6663 match(SIGNED_LEFT_SHIFT_);
6664 setState(1474);
6665 bitExpr(10);
6666 }
6667 break;
6668 case 4:
6669 {
6670 _localctx = new BitExprContext(_parentctx, _parentState);
6671 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6672 setState(1475);
6673 if (!(precpred(_ctx, 8))) throw new FailedPredicateException(this, "precpred(_ctx, 8)");
6674 setState(1476);
6675 match(SIGNED_RIGHT_SHIFT_);
6676 setState(1477);
6677 bitExpr(9);
6678 }
6679 break;
6680 case 5:
6681 {
6682 _localctx = new BitExprContext(_parentctx, _parentState);
6683 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6684 setState(1478);
6685 if (!(precpred(_ctx, 7))) throw new FailedPredicateException(this, "precpred(_ctx, 7)");
6686 setState(1479);
6687 match(PLUS_);
6688 setState(1480);
6689 bitExpr(8);
6690 }
6691 break;
6692 case 6:
6693 {
6694 _localctx = new BitExprContext(_parentctx, _parentState);
6695 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6696 setState(1481);
6697 if (!(precpred(_ctx, 6))) throw new FailedPredicateException(this, "precpred(_ctx, 6)");
6698 setState(1482);
6699 match(MINUS_);
6700 setState(1483);
6701 bitExpr(7);
6702 }
6703 break;
6704 case 7:
6705 {
6706 _localctx = new BitExprContext(_parentctx, _parentState);
6707 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6708 setState(1484);
6709 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
6710 setState(1485);
6711 match(ASTERISK_);
6712 setState(1486);
6713 bitExpr(6);
6714 }
6715 break;
6716 case 8:
6717 {
6718 _localctx = new BitExprContext(_parentctx, _parentState);
6719 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6720 setState(1487);
6721 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
6722 setState(1488);
6723 match(SLASH_);
6724 setState(1489);
6725 bitExpr(5);
6726 }
6727 break;
6728 case 9:
6729 {
6730 _localctx = new BitExprContext(_parentctx, _parentState);
6731 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6732 setState(1490);
6733 if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
6734 setState(1491);
6735 match(MOD_);
6736 setState(1492);
6737 bitExpr(4);
6738 }
6739 break;
6740 case 10:
6741 {
6742 _localctx = new BitExprContext(_parentctx, _parentState);
6743 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6744 setState(1493);
6745 if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
6746 setState(1494);
6747 match(CARET_);
6748 setState(1495);
6749 bitExpr(3);
6750 }
6751 break;
6752 }
6753 }
6754 }
6755 setState(1500);
6756 _errHandler.sync(this);
6757 _alt = getInterpreter().adaptivePredict(_input,57,_ctx);
6758 }
6759 }
6760 }
6761 catch (RecognitionException re) {
6762 _localctx.exception = re;
6763 _errHandler.reportError(this, re);
6764 _errHandler.recover(this, re);
6765 }
6766 finally {
6767 unrollRecursionContexts(_parentctx);
6768 }
6769 return _localctx;
6770 }
6771
6772 public static class SimpleExprContext extends ParserRuleContext {
6773 public FunctionCallContext functionCall() {
6774 return getRuleContext(FunctionCallContext.class,0);
6775 }
6776 public ParameterMarkerContext parameterMarker() {
6777 return getRuleContext(ParameterMarkerContext.class,0);
6778 }
6779 public LiteralsContext literals() {
6780 return getRuleContext(LiteralsContext.class,0);
6781 }
6782 public ColumnNameContext columnName() {
6783 return getRuleContext(ColumnNameContext.class,0);
6784 }
6785 public VariableNameContext variableName() {
6786 return getRuleContext(VariableNameContext.class,0);
6787 }
6788 public List<SimpleExprContext> simpleExpr() {
6789 return getRuleContexts(SimpleExprContext.class);
6790 }
6791 public SimpleExprContext simpleExpr(int i) {
6792 return getRuleContext(SimpleExprContext.class,i);
6793 }
6794 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
6795 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
6796 public TerminalNode TILDE_() { return getToken(SQLServerStatementParser.TILDE_, 0); }
6797 public TerminalNode NOT_() { return getToken(SQLServerStatementParser.NOT_, 0); }
6798 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
6799 public TerminalNode DOLLAR_() { return getToken(SQLServerStatementParser.DOLLAR_, 0); }
6800 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
6801 public List<ExprContext> expr() {
6802 return getRuleContexts(ExprContext.class);
6803 }
6804 public ExprContext expr(int i) {
6805 return getRuleContext(ExprContext.class,i);
6806 }
6807 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
6808 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
6809 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
6810 public TerminalNode COMMA_(int i) {
6811 return getToken(SQLServerStatementParser.COMMA_, i);
6812 }
6813 public SubqueryContext subquery() {
6814 return getRuleContext(SubqueryContext.class,0);
6815 }
6816 public TerminalNode EXISTS() { return getToken(SQLServerStatementParser.EXISTS, 0); }
6817 public TerminalNode LBE_() { return getToken(SQLServerStatementParser.LBE_, 0); }
6818 public IdentifierContext identifier() {
6819 return getRuleContext(IdentifierContext.class,0);
6820 }
6821 public TerminalNode RBE_() { return getToken(SQLServerStatementParser.RBE_, 0); }
6822 public CaseExpressionContext caseExpression() {
6823 return getRuleContext(CaseExpressionContext.class,0);
6824 }
6825 public PrivateExprOfDbContext privateExprOfDb() {
6826 return getRuleContext(PrivateExprOfDbContext.class,0);
6827 }
6828 public TerminalNode OR_() { return getToken(SQLServerStatementParser.OR_, 0); }
6829 public SimpleExprContext(ParserRuleContext parent, int invokingState) {
6830 super(parent, invokingState);
6831 }
6832 @Override public int getRuleIndex() { return RULE_simpleExpr; }
6833 @Override
6834 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6835 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSimpleExpr(this);
6836 else return visitor.visitChildren(this);
6837 }
6838 }
6839
6840 public final SimpleExprContext simpleExpr() throws RecognitionException {
6841 return simpleExpr(0);
6842 }
6843
6844 private SimpleExprContext simpleExpr(int _p) throws RecognitionException {
6845 ParserRuleContext _parentctx = _ctx;
6846 int _parentState = getState();
6847 SimpleExprContext _localctx = new SimpleExprContext(_ctx, _parentState);
6848 SimpleExprContext _prevctx = _localctx;
6849 int _startState = 116;
6850 enterRecursionRule(_localctx, 116, RULE_simpleExpr, _p);
6851 int _la;
6852 try {
6853 int _alt;
6854 enterOuterAlt(_localctx, 1);
6855 {
6856 setState(1534);
6857 _errHandler.sync(this);
6858 switch ( getInterpreter().adaptivePredict(_input,61,_ctx) ) {
6859 case 1:
6860 {
6861 setState(1502);
6862 functionCall();
6863 }
6864 break;
6865 case 2:
6866 {
6867 setState(1503);
6868 parameterMarker();
6869 }
6870 break;
6871 case 3:
6872 {
6873 setState(1504);
6874 literals();
6875 }
6876 break;
6877 case 4:
6878 {
6879 setState(1505);
6880 columnName();
6881 }
6882 break;
6883 case 5:
6884 {
6885 setState(1506);
6886 variableName();
6887 }
6888 break;
6889 case 6:
6890 {
6891 setState(1507);
6892 _la = _input.LA(1);
6893 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_) | (1L << DOLLAR_))) != 0) || _la==BINARY) ) {
6894 _errHandler.recoverInline(this);
6895 }
6896 else {
6897 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6898 _errHandler.reportMatch(this);
6899 consume();
6900 }
6901 setState(1508);
6902 simpleExpr(6);
6903 }
6904 break;
6905 case 7:
6906 {
6907 setState(1510);
6908 _errHandler.sync(this);
6909 _la = _input.LA(1);
6910 if (_la==ROW) {
6911 {
6912 setState(1509);
6913 match(ROW);
6914 }
6915 }
6916
6917 setState(1512);
6918 match(LP_);
6919 setState(1513);
6920 expr(0);
6921 setState(1518);
6922 _errHandler.sync(this);
6923 _la = _input.LA(1);
6924 while (_la==COMMA_) {
6925 {
6926 {
6927 setState(1514);
6928 match(COMMA_);
6929 setState(1515);
6930 expr(0);
6931 }
6932 }
6933 setState(1520);
6934 _errHandler.sync(this);
6935 _la = _input.LA(1);
6936 }
6937 setState(1521);
6938 match(RP_);
6939 }
6940 break;
6941 case 8:
6942 {
6943 setState(1524);
6944 _errHandler.sync(this);
6945 _la = _input.LA(1);
6946 if (_la==EXISTS) {
6947 {
6948 setState(1523);
6949 match(EXISTS);
6950 }
6951 }
6952
6953 setState(1526);
6954 subquery();
6955 }
6956 break;
6957 case 9:
6958 {
6959 setState(1527);
6960 match(LBE_);
6961 setState(1528);
6962 identifier();
6963 setState(1529);
6964 expr(0);
6965 setState(1530);
6966 match(RBE_);
6967 }
6968 break;
6969 case 10:
6970 {
6971 setState(1532);
6972 caseExpression();
6973 }
6974 break;
6975 case 11:
6976 {
6977 setState(1533);
6978 privateExprOfDb();
6979 }
6980 break;
6981 }
6982 _ctx.stop = _input.LT(-1);
6983 setState(1541);
6984 _errHandler.sync(this);
6985 _alt = getInterpreter().adaptivePredict(_input,62,_ctx);
6986 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
6987 if ( _alt==1 ) {
6988 if ( _parseListeners!=null ) triggerExitRuleEvent();
6989 _prevctx = _localctx;
6990 {
6991 {
6992 _localctx = new SimpleExprContext(_parentctx, _parentState);
6993 pushNewRecursionContext(_localctx, _startState, RULE_simpleExpr);
6994 setState(1536);
6995 if (!(precpred(_ctx, 7))) throw new FailedPredicateException(this, "precpred(_ctx, 7)");
6996 setState(1537);
6997 match(OR_);
6998 setState(1538);
6999 simpleExpr(8);
7000 }
7001 }
7002 }
7003 setState(1543);
7004 _errHandler.sync(this);
7005 _alt = getInterpreter().adaptivePredict(_input,62,_ctx);
7006 }
7007 }
7008 }
7009 catch (RecognitionException re) {
7010 _localctx.exception = re;
7011 _errHandler.reportError(this, re);
7012 _errHandler.recover(this, re);
7013 }
7014 finally {
7015 unrollRecursionContexts(_parentctx);
7016 }
7017 return _localctx;
7018 }
7019
7020 public static class FunctionCallContext extends ParserRuleContext {
7021 public AggregationFunctionContext aggregationFunction() {
7022 return getRuleContext(AggregationFunctionContext.class,0);
7023 }
7024 public SpecialFunctionContext specialFunction() {
7025 return getRuleContext(SpecialFunctionContext.class,0);
7026 }
7027 public RegularFunctionContext regularFunction() {
7028 return getRuleContext(RegularFunctionContext.class,0);
7029 }
7030 public FunctionCallContext(ParserRuleContext parent, int invokingState) {
7031 super(parent, invokingState);
7032 }
7033 @Override public int getRuleIndex() { return RULE_functionCall; }
7034 @Override
7035 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7036 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFunctionCall(this);
7037 else return visitor.visitChildren(this);
7038 }
7039 }
7040
7041 public final FunctionCallContext functionCall() throws RecognitionException {
7042 FunctionCallContext _localctx = new FunctionCallContext(_ctx, getState());
7043 enterRule(_localctx, 118, RULE_functionCall);
7044 try {
7045 setState(1547);
7046 _errHandler.sync(this);
7047 switch ( getInterpreter().adaptivePredict(_input,63,_ctx) ) {
7048 case 1:
7049 enterOuterAlt(_localctx, 1);
7050 {
7051 setState(1544);
7052 aggregationFunction();
7053 }
7054 break;
7055 case 2:
7056 enterOuterAlt(_localctx, 2);
7057 {
7058 setState(1545);
7059 specialFunction();
7060 }
7061 break;
7062 case 3:
7063 enterOuterAlt(_localctx, 3);
7064 {
7065 setState(1546);
7066 regularFunction();
7067 }
7068 break;
7069 }
7070 }
7071 catch (RecognitionException re) {
7072 _localctx.exception = re;
7073 _errHandler.reportError(this, re);
7074 _errHandler.recover(this, re);
7075 }
7076 finally {
7077 exitRule();
7078 }
7079 return _localctx;
7080 }
7081
7082 public static class AggregationFunctionContext extends ParserRuleContext {
7083 public AggregationFunctionNameContext aggregationFunctionName() {
7084 return getRuleContext(AggregationFunctionNameContext.class,0);
7085 }
7086 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7087 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7088 public DistinctContext distinct() {
7089 return getRuleContext(DistinctContext.class,0);
7090 }
7091 public List<ExprContext> expr() {
7092 return getRuleContexts(ExprContext.class);
7093 }
7094 public ExprContext expr(int i) {
7095 return getRuleContext(ExprContext.class,i);
7096 }
7097 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
7098 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
7099 public TerminalNode COMMA_(int i) {
7100 return getToken(SQLServerStatementParser.COMMA_, i);
7101 }
7102 public AggregationFunctionContext(ParserRuleContext parent, int invokingState) {
7103 super(parent, invokingState);
7104 }
7105 @Override public int getRuleIndex() { return RULE_aggregationFunction; }
7106 @Override
7107 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7108 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAggregationFunction(this);
7109 else return visitor.visitChildren(this);
7110 }
7111 }
7112
7113 public final AggregationFunctionContext aggregationFunction() throws RecognitionException {
7114 AggregationFunctionContext _localctx = new AggregationFunctionContext(_ctx, getState());
7115 enterRule(_localctx, 120, RULE_aggregationFunction);
7116 int _la;
7117 try {
7118 enterOuterAlt(_localctx, 1);
7119 {
7120 setState(1549);
7121 aggregationFunctionName();
7122 setState(1550);
7123 match(LP_);
7124 setState(1552);
7125 _errHandler.sync(this);
7126 _la = _input.LA(1);
7127 if (_la==DISTINCT) {
7128 {
7129 setState(1551);
7130 distinct();
7131 }
7132 }
7133
7134 setState(1563);
7135 _errHandler.sync(this);
7136 switch (_input.LA(1)) {
7137 case NOT_:
7138 case TILDE_:
7139 case PLUS_:
7140 case MINUS_:
7141 case LP_:
7142 case LBE_:
7143 case QUESTION_:
7144 case DOLLAR_:
7145 case TRUNCATE:
7146 case SCHEMA:
7147 case COLUMNS:
7148 case PRECISION:
7149 case FUNCTION:
7150 case TRIGGER:
7151 case CASE:
7152 case CAST:
7153 case TRIM:
7154 case SUBSTRING:
7155 case OFF:
7156 case IF:
7157 case NOT:
7158 case NULL:
7159 case TRUE:
7160 case FALSE:
7161 case EXISTS:
7162 case GROUP:
7163 case LIMIT:
7164 case OFFSET:
7165 case SAVEPOINT:
7166 case BOOLEAN:
7167 case CHAR:
7168 case ARRAY:
7169 case INTERVAL:
7170 case DATE:
7171 case TIME:
7172 case TIMESTAMP:
7173 case LOCALTIME:
7174 case LOCALTIMESTAMP:
7175 case YEAR:
7176 case QUARTER:
7177 case MONTH:
7178 case WEEK:
7179 case DAY:
7180 case SECOND:
7181 case MICROSECOND:
7182 case MAX:
7183 case MIN:
7184 case SUM:
7185 case COUNT:
7186 case AVG:
7187 case ENABLE:
7188 case DISABLE:
7189 case INSTANCE:
7190 case DO:
7191 case DEFINER:
7192 case SQL:
7193 case CASCADED:
7194 case LOCAL:
7195 case NEXT:
7196 case NAME:
7197 case INTEGER:
7198 case TYPE:
7199 case TEXT:
7200 case VIEWS:
7201 case READ_ONLY:
7202 case DATABASE:
7203 case RETURNS:
7204 case DATEPART:
7205 case PASSWORD:
7206 case JSON_OBJECT:
7207 case JSON_ARRAY:
7208 case FIRST_VALUE:
7209 case LAST_VALUE:
7210 case APPROX_PERCENTILE_CONT:
7211 case APPROX_PERCENTILE_DISC:
7212 case BINARY:
7213 case HIDDEN_:
7214 case MOD:
7215 case PARTITION:
7216 case PARTITIONS:
7217 case TOP:
7218 case ROW:
7219 case ROWS:
7220 case XOR:
7221 case ALWAYS:
7222 case ROLE:
7223 case START:
7224 case ALGORITHM:
7225 case AUTO:
7226 case BLOCKERS:
7227 case CLUSTERED:
7228 case NONCLUSTERED:
7229 case COLUMNSTORE:
7230 case CONTENT:
7231 case CONVERT:
7232 case YEARS:
7233 case MONTHS:
7234 case WEEKS:
7235 case DAYS:
7236 case MINUTES:
7237 case DENY:
7238 case DETERMINISTIC:
7239 case DISTRIBUTION:
7240 case DOCUMENT:
7241 case DURABILITY:
7242 case ENCRYPTED:
7243 case FILESTREAM:
7244 case FILETABLE:
7245 case FILLFACTOR:
7246 case FOLLOWING:
7247 case HASH:
7248 case HEAP:
7249 case INBOUND:
7250 case OUTBOUND:
7251 case UNBOUNDED:
7252 case INFINITE:
7253 case LOGIN:
7254 case MASKED:
7255 case MAXDOP:
7256 case MOVE:
7257 case NOCHECK:
7258 case OBJECT:
7259 case ONLINE:
7260 case OVER:
7261 case PAGE:
7262 case PAUSED:
7263 case PERIOD:
7264 case PERSISTED:
7265 case PRECEDING:
7266 case RANDOMIZED:
7267 case RANGE:
7268 case REBUILD:
7269 case REPLICATE:
7270 case REPLICATION:
7271 case RESUMABLE:
7272 case ROWGUIDCOL:
7273 case SAVE:
7274 case SELF:
7275 case SPARSE:
7276 case SWITCH:
7277 case TRAN:
7278 case TRANCOUNT:
7279 case CONTROL:
7280 case CONCAT:
7281 case TAKE:
7282 case OWNERSHIP:
7283 case DEFINITION:
7284 case APPLICATION:
7285 case ASSEMBLY:
7286 case SYMMETRIC:
7287 case ASYMMETRIC:
7288 case SERVER:
7289 case RECEIVE:
7290 case CHANGE:
7291 case TRACE:
7292 case TRACKING:
7293 case RESOURCES:
7294 case SETTINGS:
7295 case STATE:
7296 case AVAILABILITY:
7297 case CREDENTIAL:
7298 case ENDPOINT:
7299 case EVENT:
7300 case NOTIFICATION:
7301 case LINKED:
7302 case AUDIT:
7303 case DDL:
7304 case XML:
7305 case IMPERSONATE:
7306 case SECURABLES:
7307 case AUTHENTICATE:
7308 case EXTERNAL:
7309 case ACCESS:
7310 case ADMINISTER:
7311 case BULK:
7312 case OPERATIONS:
7313 case UNSAFE:
7314 case SHUTDOWN:
7315 case SCOPED:
7316 case CONFIGURATION:
7317 case DATASPACE:
7318 case SERVICE:
7319 case CERTIFICATE:
7320 case CONTRACT:
7321 case ENCRYPTION:
7322 case MASTER:
7323 case DATA:
7324 case SOURCE:
7325 case FILE:
7326 case FORMAT:
7327 case LIBRARY:
7328 case FULLTEXT:
7329 case MASK:
7330 case UNMASK:
7331 case MESSAGE:
7332 case REMOTE:
7333 case BINDING:
7334 case ROUTE:
7335 case SECURITY:
7336 case POLICY:
7337 case AGGREGATE:
7338 case QUEUE:
7339 case RULE:
7340 case SYNONYM:
7341 case COLLECTION:
7342 case SCRIPT:
7343 case KILL:
7344 case BACKUP:
7345 case LOG:
7346 case SHOWPLAN:
7347 case SUBSCRIBE:
7348 case QUERY:
7349 case NOTIFICATIONS:
7350 case CHECKPOINT:
7351 case SEQUENCE:
7352 case ABORT_AFTER_WAIT:
7353 case ALLOW_PAGE_LOCKS:
7354 case ALLOW_ROW_LOCKS:
7355 case ALL_SPARSE_COLUMNS:
7356 case BUCKET_COUNT:
7357 case COLUMNSTORE_ARCHIVE:
7358 case COLUMN_ENCRYPTION_KEY:
7359 case COLUMN_SET:
7360 case COMPRESSION_DELAY:
7361 case DATABASE_DEAULT:
7362 case DATA_COMPRESSION:
7363 case DATA_CONSISTENCY_CHECK:
7364 case ENCRYPTION_TYPE:
7365 case SYSTEM_TIME:
7366 case SYSTEM_VERSIONING:
7367 case TEXTIMAGE_ON:
7368 case WAIT_AT_LOW_PRIORITY:
7369 case STATISTICS_INCREMENTAL:
7370 case STATISTICS_NORECOMPUTE:
7371 case ROUND_ROBIN:
7372 case SCHEMA_AND_DATA:
7373 case SCHEMA_ONLY:
7374 case SORT_IN_TEMPDB:
7375 case IGNORE_DUP_KEY:
7376 case IMPLICIT_TRANSACTIONS:
7377 case MAX_DURATION:
7378 case MEMORY_OPTIMIZED:
7379 case MIGRATION_STATE:
7380 case PAD_INDEX:
7381 case REMOTE_DATA_ARCHIVE:
7382 case FILESTREAM_ON:
7383 case FILETABLE_COLLATE_FILENAME:
7384 case FILETABLE_DIRECTORY:
7385 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
7386 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
7387 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
7388 case FILTER_PREDICATE:
7389 case HISTORY_RETENTION_PERIOD:
7390 case HISTORY_TABLE:
7391 case LOCK_ESCALATION:
7392 case DROP_EXISTING:
7393 case ROW_NUMBER:
7394 case FIRST:
7395 case DATETIME2:
7396 case OUTPUT:
7397 case INSERTED:
7398 case DELETED:
7399 case FILENAME:
7400 case SIZE:
7401 case MAXSIZE:
7402 case FILEGROWTH:
7403 case UNLIMITED:
7404 case KB:
7405 case MB:
7406 case GB:
7407 case TB:
7408 case CONTAINS:
7409 case MEMORY_OPTIMIZED_DATA:
7410 case FILEGROUP:
7411 case NON_TRANSACTED_ACCESS:
7412 case DB_CHAINING:
7413 case TRUSTWORTHY:
7414 case FORWARD_ONLY:
7415 case KEYSET:
7416 case FAST_FORWARD:
7417 case SCROLL_LOCKS:
7418 case OPTIMISTIC:
7419 case TYPE_WARNING:
7420 case SCHEMABINDING:
7421 case CALLER:
7422 case INPUT:
7423 case OWNER:
7424 case SNAPSHOT:
7425 case REPEATABLE:
7426 case SERIALIZABLE:
7427 case NATIVE_COMPILATION:
7428 case VIEW_METADATA:
7429 case INSTEAD:
7430 case APPEND:
7431 case INCREMENT:
7432 case CACHE:
7433 case MINVALUE:
7434 case MAXVALUE:
7435 case RESTART:
7436 case LOB_COMPACTION:
7437 case COMPRESS_ALL_ROW_GROUPS:
7438 case REORGANIZE:
7439 case RESUME:
7440 case PAUSE:
7441 case ABORT:
7442 case ACCELERATED_DATABASE_RECOVERY:
7443 case PERSISTENT_VERSION_STORE_FILEGROUP:
7444 case IMMEDIATE:
7445 case NO_WAIT:
7446 case TARGET_RECOVERY_TIME:
7447 case SECONDS:
7448 case HONOR_BROKER_PRIORITY:
7449 case ERROR_BROKER_CONVERSATIONS:
7450 case NEW_BROKER:
7451 case DISABLE_BROKER:
7452 case ENABLE_BROKER:
7453 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
7454 case READ_COMMITTED_SNAPSHOT:
7455 case ALLOW_SNAPSHOT_ISOLATION:
7456 case RECURSIVE_TRIGGERS:
7457 case QUOTED_IDENTIFIER:
7458 case NUMERIC_ROUNDABORT:
7459 case CONCAT_NULL_YIELDS_NULL:
7460 case COMPATIBILITY_LEVEL:
7461 case ARITHABORT:
7462 case ANSI_WARNINGS:
7463 case ANSI_PADDING:
7464 case ANSI_NULLS:
7465 case ANSI_NULL_DEFAULT:
7466 case PAGE_VERIFY:
7467 case CHECKSUM:
7468 case TORN_PAGE_DETECTION:
7469 case BULK_LOGGED:
7470 case RECOVERY:
7471 case TOTAL_EXECUTION_CPU_TIME_MS:
7472 case TOTAL_COMPILE_CPU_TIME_MS:
7473 case STALE_CAPTURE_POLICY_THRESHOLD:
7474 case EXECUTION_COUNT:
7475 case QUERY_CAPTURE_POLICY:
7476 case WAIT_STATS_CAPTURE_MODE:
7477 case MAX_PLANS_PER_QUERY:
7478 case QUERY_CAPTURE_MODE:
7479 case SIZE_BASED_CLEANUP_MODE:
7480 case INTERVAL_LENGTH_MINUTES:
7481 case MAX_STORAGE_SIZE_MB:
7482 case DATA_FLUSH_INTERVAL_SECONDS:
7483 case CLEANUP_POLICY:
7484 case CUSTOM:
7485 case STALE_QUERY_THRESHOLD_DAYS:
7486 case OPERATION_MODE:
7487 case QUERY_STORE:
7488 case CURSOR_DEFAULT:
7489 case GLOBAL:
7490 case CURSOR_CLOSE_ON_COMMIT:
7491 case HOURS:
7492 case CHANGE_RETENTION:
7493 case AUTO_CLEANUP:
7494 case CHANGE_TRACKING:
7495 case AUTOMATIC_TUNING:
7496 case FORCE_LAST_GOOD_PLAN:
7497 case AUTO_UPDATE_STATISTICS_ASYNC:
7498 case AUTO_UPDATE_STATISTICS:
7499 case AUTO_SHRINK:
7500 case AUTO_CREATE_STATISTICS:
7501 case INCREMENTAL:
7502 case AUTO_CLOSE:
7503 case DATA_RETENTION:
7504 case TEMPORAL_HISTORY_RETENTION:
7505 case EDITION:
7506 case MIXED_PAGE_ALLOCATION:
7507 case DISABLED:
7508 case ALLOWED:
7509 case HADR:
7510 case MULTI_USER:
7511 case RESTRICTED_USER:
7512 case SINGLE_USER:
7513 case OFFLINE:
7514 case EMERGENCY:
7515 case SUSPEND:
7516 case DATE_CORRELATION_OPTIMIZATION:
7517 case ELASTIC_POOL:
7518 case SERVICE_OBJECTIVE:
7519 case DATABASE_NAME:
7520 case ALLOW_CONNECTIONS:
7521 case GEO:
7522 case NAMED:
7523 case DATEFIRST:
7524 case BACKUP_STORAGE_REDUNDANCY:
7525 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
7526 case SECONDARY:
7527 case FAILOVER:
7528 case DEFAULT_FULLTEXT_LANGUAGE:
7529 case DEFAULT_LANGUAGE:
7530 case INLINE:
7531 case NESTED_TRIGGERS:
7532 case TRANSFORM_NOISE_WORDS:
7533 case TWO_DIGIT_YEAR_CUTOFF:
7534 case PERSISTENT_LOG_BUFFER:
7535 case DIRECTORY_NAME:
7536 case DATEFORMAT:
7537 case DELAYED_DURABILITY:
7538 case AUTHORIZATION:
7539 case TRANSFER:
7540 case PROVIDER:
7541 case SEARCH:
7542 case MEMBER:
7543 case OPENJSON:
7544 case OPENROWSET:
7545 case TRY_CAST:
7546 case TRY_CONVERT:
7547 case IDENTIFIER_:
7548 case DELIMITED_IDENTIFIER_:
7549 case STRING_:
7550 case NUMBER_:
7551 case HEX_DIGIT_:
7552 case BIT_NUM_:
7553 case NCHAR_TEXT:
7554 {
7555 setState(1554);
7556 expr(0);
7557 setState(1559);
7558 _errHandler.sync(this);
7559 _la = _input.LA(1);
7560 while (_la==COMMA_) {
7561 {
7562 {
7563 setState(1555);
7564 match(COMMA_);
7565 setState(1556);
7566 expr(0);
7567 }
7568 }
7569 setState(1561);
7570 _errHandler.sync(this);
7571 _la = _input.LA(1);
7572 }
7573 }
7574 break;
7575 case ASTERISK_:
7576 {
7577 setState(1562);
7578 match(ASTERISK_);
7579 }
7580 break;
7581 case RP_:
7582 break;
7583 default:
7584 break;
7585 }
7586 setState(1565);
7587 match(RP_);
7588 }
7589 }
7590 catch (RecognitionException re) {
7591 _localctx.exception = re;
7592 _errHandler.reportError(this, re);
7593 _errHandler.recover(this, re);
7594 }
7595 finally {
7596 exitRule();
7597 }
7598 return _localctx;
7599 }
7600
7601 public static class AggregationFunctionNameContext extends ParserRuleContext {
7602 public TerminalNode MAX() { return getToken(SQLServerStatementParser.MAX, 0); }
7603 public TerminalNode MIN() { return getToken(SQLServerStatementParser.MIN, 0); }
7604 public TerminalNode SUM() { return getToken(SQLServerStatementParser.SUM, 0); }
7605 public TerminalNode COUNT() { return getToken(SQLServerStatementParser.COUNT, 0); }
7606 public TerminalNode AVG() { return getToken(SQLServerStatementParser.AVG, 0); }
7607 public AggregationFunctionNameContext(ParserRuleContext parent, int invokingState) {
7608 super(parent, invokingState);
7609 }
7610 @Override public int getRuleIndex() { return RULE_aggregationFunctionName; }
7611 @Override
7612 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7613 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAggregationFunctionName(this);
7614 else return visitor.visitChildren(this);
7615 }
7616 }
7617
7618 public final AggregationFunctionNameContext aggregationFunctionName() throws RecognitionException {
7619 AggregationFunctionNameContext _localctx = new AggregationFunctionNameContext(_ctx, getState());
7620 enterRule(_localctx, 122, RULE_aggregationFunctionName);
7621 int _la;
7622 try {
7623 enterOuterAlt(_localctx, 1);
7624 {
7625 setState(1567);
7626 _la = _input.LA(1);
7627 if ( !(((((_la - 149)) & ~0x3f) == 0 && ((1L << (_la - 149)) & ((1L << (MAX - 149)) | (1L << (MIN - 149)) | (1L << (SUM - 149)) | (1L << (COUNT - 149)) | (1L << (AVG - 149)))) != 0)) ) {
7628 _errHandler.recoverInline(this);
7629 }
7630 else {
7631 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
7632 _errHandler.reportMatch(this);
7633 consume();
7634 }
7635 }
7636 }
7637 catch (RecognitionException re) {
7638 _localctx.exception = re;
7639 _errHandler.reportError(this, re);
7640 _errHandler.recover(this, re);
7641 }
7642 finally {
7643 exitRule();
7644 }
7645 return _localctx;
7646 }
7647
7648 public static class DistinctContext extends ParserRuleContext {
7649 public TerminalNode DISTINCT() { return getToken(SQLServerStatementParser.DISTINCT, 0); }
7650 public DistinctContext(ParserRuleContext parent, int invokingState) {
7651 super(parent, invokingState);
7652 }
7653 @Override public int getRuleIndex() { return RULE_distinct; }
7654 @Override
7655 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7656 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDistinct(this);
7657 else return visitor.visitChildren(this);
7658 }
7659 }
7660
7661 public final DistinctContext distinct() throws RecognitionException {
7662 DistinctContext _localctx = new DistinctContext(_ctx, getState());
7663 enterRule(_localctx, 124, RULE_distinct);
7664 try {
7665 enterOuterAlt(_localctx, 1);
7666 {
7667 setState(1569);
7668 match(DISTINCT);
7669 }
7670 }
7671 catch (RecognitionException re) {
7672 _localctx.exception = re;
7673 _errHandler.reportError(this, re);
7674 _errHandler.recover(this, re);
7675 }
7676 finally {
7677 exitRule();
7678 }
7679 return _localctx;
7680 }
7681
7682 public static class SpecialFunctionContext extends ParserRuleContext {
7683 public ConversionFunctionContext conversionFunction() {
7684 return getRuleContext(ConversionFunctionContext.class,0);
7685 }
7686 public CharFunctionContext charFunction() {
7687 return getRuleContext(CharFunctionContext.class,0);
7688 }
7689 public OpenJsonFunctionContext openJsonFunction() {
7690 return getRuleContext(OpenJsonFunctionContext.class,0);
7691 }
7692 public JsonFunctionContext jsonFunction() {
7693 return getRuleContext(JsonFunctionContext.class,0);
7694 }
7695 public OpenRowSetFunctionContext openRowSetFunction() {
7696 return getRuleContext(OpenRowSetFunctionContext.class,0);
7697 }
7698 public WindowFunctionContext windowFunction() {
7699 return getRuleContext(WindowFunctionContext.class,0);
7700 }
7701 public ApproxFunctionContext approxFunction() {
7702 return getRuleContext(ApproxFunctionContext.class,0);
7703 }
7704 public SpecialFunctionContext(ParserRuleContext parent, int invokingState) {
7705 super(parent, invokingState);
7706 }
7707 @Override public int getRuleIndex() { return RULE_specialFunction; }
7708 @Override
7709 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7710 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSpecialFunction(this);
7711 else return visitor.visitChildren(this);
7712 }
7713 }
7714
7715 public final SpecialFunctionContext specialFunction() throws RecognitionException {
7716 SpecialFunctionContext _localctx = new SpecialFunctionContext(_ctx, getState());
7717 enterRule(_localctx, 126, RULE_specialFunction);
7718 try {
7719 setState(1578);
7720 _errHandler.sync(this);
7721 switch (_input.LA(1)) {
7722 case CAST:
7723 case CONVERT:
7724 case TRY_CAST:
7725 case TRY_CONVERT:
7726 enterOuterAlt(_localctx, 1);
7727 {
7728 setState(1571);
7729 conversionFunction();
7730 }
7731 break;
7732 case CHAR:
7733 enterOuterAlt(_localctx, 2);
7734 {
7735 setState(1572);
7736 charFunction();
7737 }
7738 break;
7739 case OPENJSON:
7740 enterOuterAlt(_localctx, 3);
7741 {
7742 setState(1573);
7743 openJsonFunction();
7744 }
7745 break;
7746 case JSON_OBJECT:
7747 case JSON_ARRAY:
7748 enterOuterAlt(_localctx, 4);
7749 {
7750 setState(1574);
7751 jsonFunction();
7752 }
7753 break;
7754 case OPENROWSET:
7755 enterOuterAlt(_localctx, 5);
7756 {
7757 setState(1575);
7758 openRowSetFunction();
7759 }
7760 break;
7761 case FIRST_VALUE:
7762 case LAST_VALUE:
7763 enterOuterAlt(_localctx, 6);
7764 {
7765 setState(1576);
7766 windowFunction();
7767 }
7768 break;
7769 case APPROX_PERCENTILE_CONT:
7770 case APPROX_PERCENTILE_DISC:
7771 enterOuterAlt(_localctx, 7);
7772 {
7773 setState(1577);
7774 approxFunction();
7775 }
7776 break;
7777 default:
7778 throw new NoViableAltException(this);
7779 }
7780 }
7781 catch (RecognitionException re) {
7782 _localctx.exception = re;
7783 _errHandler.reportError(this, re);
7784 _errHandler.recover(this, re);
7785 }
7786 finally {
7787 exitRule();
7788 }
7789 return _localctx;
7790 }
7791
7792 public static class ApproxFunctionContext extends ParserRuleContext {
7793 public Token funcName;
7794 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
7795 public TerminalNode LP_(int i) {
7796 return getToken(SQLServerStatementParser.LP_, i);
7797 }
7798 public List<ExprContext> expr() {
7799 return getRuleContexts(ExprContext.class);
7800 }
7801 public ExprContext expr(int i) {
7802 return getRuleContext(ExprContext.class,i);
7803 }
7804 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
7805 public TerminalNode RP_(int i) {
7806 return getToken(SQLServerStatementParser.RP_, i);
7807 }
7808 public TerminalNode WITHIN() { return getToken(SQLServerStatementParser.WITHIN, 0); }
7809 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
7810 public TerminalNode ORDER() { return getToken(SQLServerStatementParser.ORDER, 0); }
7811 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
7812 public TerminalNode APPROX_PERCENTILE_CONT() { return getToken(SQLServerStatementParser.APPROX_PERCENTILE_CONT, 0); }
7813 public TerminalNode APPROX_PERCENTILE_DISC() { return getToken(SQLServerStatementParser.APPROX_PERCENTILE_DISC, 0); }
7814 public TerminalNode ASC() { return getToken(SQLServerStatementParser.ASC, 0); }
7815 public TerminalNode DESC() { return getToken(SQLServerStatementParser.DESC, 0); }
7816 public ApproxFunctionContext(ParserRuleContext parent, int invokingState) {
7817 super(parent, invokingState);
7818 }
7819 @Override public int getRuleIndex() { return RULE_approxFunction; }
7820 @Override
7821 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7822 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitApproxFunction(this);
7823 else return visitor.visitChildren(this);
7824 }
7825 }
7826
7827 public final ApproxFunctionContext approxFunction() throws RecognitionException {
7828 ApproxFunctionContext _localctx = new ApproxFunctionContext(_ctx, getState());
7829 enterRule(_localctx, 128, RULE_approxFunction);
7830 int _la;
7831 try {
7832 enterOuterAlt(_localctx, 1);
7833 {
7834 setState(1580);
7835 ((ApproxFunctionContext)_localctx).funcName = _input.LT(1);
7836 _la = _input.LA(1);
7837 if ( !(_la==APPROX_PERCENTILE_CONT || _la==APPROX_PERCENTILE_DISC) ) {
7838 ((ApproxFunctionContext)_localctx).funcName = (Token)_errHandler.recoverInline(this);
7839 }
7840 else {
7841 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
7842 _errHandler.reportMatch(this);
7843 consume();
7844 }
7845 setState(1581);
7846 match(LP_);
7847 setState(1582);
7848 expr(0);
7849 setState(1583);
7850 match(RP_);
7851 setState(1584);
7852 match(WITHIN);
7853 setState(1585);
7854 match(GROUP);
7855 setState(1586);
7856 match(LP_);
7857 setState(1587);
7858 match(ORDER);
7859 setState(1588);
7860 match(BY);
7861 setState(1589);
7862 expr(0);
7863 setState(1591);
7864 _errHandler.sync(this);
7865 _la = _input.LA(1);
7866 if (_la==ASC || _la==DESC) {
7867 {
7868 setState(1590);
7869 _la = _input.LA(1);
7870 if ( !(_la==ASC || _la==DESC) ) {
7871 _errHandler.recoverInline(this);
7872 }
7873 else {
7874 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
7875 _errHandler.reportMatch(this);
7876 consume();
7877 }
7878 }
7879 }
7880
7881 setState(1593);
7882 match(RP_);
7883 }
7884 }
7885 catch (RecognitionException re) {
7886 _localctx.exception = re;
7887 _errHandler.reportError(this, re);
7888 _errHandler.recover(this, re);
7889 }
7890 finally {
7891 exitRule();
7892 }
7893 return _localctx;
7894 }
7895
7896 public static class ConversionFunctionContext extends ParserRuleContext {
7897 public CastFunctionContext castFunction() {
7898 return getRuleContext(CastFunctionContext.class,0);
7899 }
7900 public ConvertFunctionContext convertFunction() {
7901 return getRuleContext(ConvertFunctionContext.class,0);
7902 }
7903 public ConversionFunctionContext(ParserRuleContext parent, int invokingState) {
7904 super(parent, invokingState);
7905 }
7906 @Override public int getRuleIndex() { return RULE_conversionFunction; }
7907 @Override
7908 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7909 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConversionFunction(this);
7910 else return visitor.visitChildren(this);
7911 }
7912 }
7913
7914 public final ConversionFunctionContext conversionFunction() throws RecognitionException {
7915 ConversionFunctionContext _localctx = new ConversionFunctionContext(_ctx, getState());
7916 enterRule(_localctx, 130, RULE_conversionFunction);
7917 try {
7918 setState(1597);
7919 _errHandler.sync(this);
7920 switch (_input.LA(1)) {
7921 case CAST:
7922 case TRY_CAST:
7923 enterOuterAlt(_localctx, 1);
7924 {
7925 setState(1595);
7926 castFunction();
7927 }
7928 break;
7929 case CONVERT:
7930 case TRY_CONVERT:
7931 enterOuterAlt(_localctx, 2);
7932 {
7933 setState(1596);
7934 convertFunction();
7935 }
7936 break;
7937 default:
7938 throw new NoViableAltException(this);
7939 }
7940 }
7941 catch (RecognitionException re) {
7942 _localctx.exception = re;
7943 _errHandler.reportError(this, re);
7944 _errHandler.recover(this, re);
7945 }
7946 finally {
7947 exitRule();
7948 }
7949 return _localctx;
7950 }
7951
7952 public static class CastFunctionContext extends ParserRuleContext {
7953 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7954 public ExprContext expr() {
7955 return getRuleContext(ExprContext.class,0);
7956 }
7957 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
7958 public DataTypeContext dataType() {
7959 return getRuleContext(DataTypeContext.class,0);
7960 }
7961 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7962 public TerminalNode CAST() { return getToken(SQLServerStatementParser.CAST, 0); }
7963 public TerminalNode TRY_CAST() { return getToken(SQLServerStatementParser.TRY_CAST, 0); }
7964 public CastFunctionContext(ParserRuleContext parent, int invokingState) {
7965 super(parent, invokingState);
7966 }
7967 @Override public int getRuleIndex() { return RULE_castFunction; }
7968 @Override
7969 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7970 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCastFunction(this);
7971 else return visitor.visitChildren(this);
7972 }
7973 }
7974
7975 public final CastFunctionContext castFunction() throws RecognitionException {
7976 CastFunctionContext _localctx = new CastFunctionContext(_ctx, getState());
7977 enterRule(_localctx, 132, RULE_castFunction);
7978 int _la;
7979 try {
7980 enterOuterAlt(_localctx, 1);
7981 {
7982 setState(1599);
7983 _la = _input.LA(1);
7984 if ( !(_la==CAST || _la==TRY_CAST) ) {
7985 _errHandler.recoverInline(this);
7986 }
7987 else {
7988 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
7989 _errHandler.reportMatch(this);
7990 consume();
7991 }
7992 setState(1600);
7993 match(LP_);
7994 setState(1601);
7995 expr(0);
7996 setState(1602);
7997 match(AS);
7998 setState(1603);
7999 dataType();
8000 setState(1604);
8001 match(RP_);
8002 }
8003 }
8004 catch (RecognitionException re) {
8005 _localctx.exception = re;
8006 _errHandler.reportError(this, re);
8007 _errHandler.recover(this, re);
8008 }
8009 finally {
8010 exitRule();
8011 }
8012 return _localctx;
8013 }
8014
8015 public static class ConvertFunctionContext extends ParserRuleContext {
8016 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8017 public DataTypeContext dataType() {
8018 return getRuleContext(DataTypeContext.class,0);
8019 }
8020 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
8021 public TerminalNode COMMA_(int i) {
8022 return getToken(SQLServerStatementParser.COMMA_, i);
8023 }
8024 public ExprContext expr() {
8025 return getRuleContext(ExprContext.class,0);
8026 }
8027 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8028 public TerminalNode CONVERT() { return getToken(SQLServerStatementParser.CONVERT, 0); }
8029 public TerminalNode TRY_CONVERT() { return getToken(SQLServerStatementParser.TRY_CONVERT, 0); }
8030 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
8031 public ConvertFunctionContext(ParserRuleContext parent, int invokingState) {
8032 super(parent, invokingState);
8033 }
8034 @Override public int getRuleIndex() { return RULE_convertFunction; }
8035 @Override
8036 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8037 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConvertFunction(this);
8038 else return visitor.visitChildren(this);
8039 }
8040 }
8041
8042 public final ConvertFunctionContext convertFunction() throws RecognitionException {
8043 ConvertFunctionContext _localctx = new ConvertFunctionContext(_ctx, getState());
8044 enterRule(_localctx, 134, RULE_convertFunction);
8045 int _la;
8046 try {
8047 enterOuterAlt(_localctx, 1);
8048 {
8049 setState(1606);
8050 _la = _input.LA(1);
8051 if ( !(_la==CONVERT || _la==TRY_CONVERT) ) {
8052 _errHandler.recoverInline(this);
8053 }
8054 else {
8055 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8056 _errHandler.reportMatch(this);
8057 consume();
8058 }
8059 setState(1607);
8060 match(LP_);
8061 setState(1608);
8062 dataType();
8063 setState(1609);
8064 match(COMMA_);
8065 setState(1610);
8066 expr(0);
8067 setState(1613);
8068 _errHandler.sync(this);
8069 _la = _input.LA(1);
8070 if (_la==COMMA_) {
8071 {
8072 setState(1611);
8073 match(COMMA_);
8074 setState(1612);
8075 match(NUMBER_);
8076 }
8077 }
8078
8079 setState(1615);
8080 match(RP_);
8081 }
8082 }
8083 catch (RecognitionException re) {
8084 _localctx.exception = re;
8085 _errHandler.reportError(this, re);
8086 _errHandler.recover(this, re);
8087 }
8088 finally {
8089 exitRule();
8090 }
8091 return _localctx;
8092 }
8093
8094 public static class JsonFunctionContext extends ParserRuleContext {
8095 public JsonObjectFunctionContext jsonObjectFunction() {
8096 return getRuleContext(JsonObjectFunctionContext.class,0);
8097 }
8098 public JsonArrayFunctionContext jsonArrayFunction() {
8099 return getRuleContext(JsonArrayFunctionContext.class,0);
8100 }
8101 public JsonFunctionContext(ParserRuleContext parent, int invokingState) {
8102 super(parent, invokingState);
8103 }
8104 @Override public int getRuleIndex() { return RULE_jsonFunction; }
8105 @Override
8106 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8107 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJsonFunction(this);
8108 else return visitor.visitChildren(this);
8109 }
8110 }
8111
8112 public final JsonFunctionContext jsonFunction() throws RecognitionException {
8113 JsonFunctionContext _localctx = new JsonFunctionContext(_ctx, getState());
8114 enterRule(_localctx, 136, RULE_jsonFunction);
8115 try {
8116 setState(1619);
8117 _errHandler.sync(this);
8118 switch (_input.LA(1)) {
8119 case JSON_OBJECT:
8120 enterOuterAlt(_localctx, 1);
8121 {
8122 setState(1617);
8123 jsonObjectFunction();
8124 }
8125 break;
8126 case JSON_ARRAY:
8127 enterOuterAlt(_localctx, 2);
8128 {
8129 setState(1618);
8130 jsonArrayFunction();
8131 }
8132 break;
8133 default:
8134 throw new NoViableAltException(this);
8135 }
8136 }
8137 catch (RecognitionException re) {
8138 _localctx.exception = re;
8139 _errHandler.reportError(this, re);
8140 _errHandler.recover(this, re);
8141 }
8142 finally {
8143 exitRule();
8144 }
8145 return _localctx;
8146 }
8147
8148 public static class JsonObjectFunctionContext extends ParserRuleContext {
8149 public TerminalNode JSON_OBJECT() { return getToken(SQLServerStatementParser.JSON_OBJECT, 0); }
8150 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8151 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8152 public List<JsonKeyValueContext> jsonKeyValue() {
8153 return getRuleContexts(JsonKeyValueContext.class);
8154 }
8155 public JsonKeyValueContext jsonKeyValue(int i) {
8156 return getRuleContext(JsonKeyValueContext.class,i);
8157 }
8158 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
8159 public TerminalNode COMMA_(int i) {
8160 return getToken(SQLServerStatementParser.COMMA_, i);
8161 }
8162 public JsonNullClauseContext jsonNullClause() {
8163 return getRuleContext(JsonNullClauseContext.class,0);
8164 }
8165 public JsonObjectFunctionContext(ParserRuleContext parent, int invokingState) {
8166 super(parent, invokingState);
8167 }
8168 @Override public int getRuleIndex() { return RULE_jsonObjectFunction; }
8169 @Override
8170 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8171 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJsonObjectFunction(this);
8172 else return visitor.visitChildren(this);
8173 }
8174 }
8175
8176 public final JsonObjectFunctionContext jsonObjectFunction() throws RecognitionException {
8177 JsonObjectFunctionContext _localctx = new JsonObjectFunctionContext(_ctx, getState());
8178 enterRule(_localctx, 138, RULE_jsonObjectFunction);
8179 int _la;
8180 try {
8181 enterOuterAlt(_localctx, 1);
8182 {
8183 setState(1621);
8184 match(JSON_OBJECT);
8185 setState(1622);
8186 match(LP_);
8187 setState(1634);
8188 _errHandler.sync(this);
8189 _la = _input.LA(1);
8190 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_) | (1L << LP_) | (1L << LBE_) | (1L << QUESTION_) | (1L << DOLLAR_) | (1L << TRUNCATE) | (1L << SCHEMA) | (1L << COLUMNS))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (PRECISION - 69)) | (1L << (FUNCTION - 69)) | (1L << (TRIGGER - 69)) | (1L << (CASE - 69)) | (1L << (CAST - 69)) | (1L << (TRIM - 69)) | (1L << (SUBSTRING - 69)) | (1L << (OFF - 69)) | (1L << (IF - 69)) | (1L << (NOT - 69)) | (1L << (NULL - 69)) | (1L << (TRUE - 69)) | (1L << (FALSE - 69)) | (1L << (EXISTS - 69)) | (1L << (GROUP - 69)) | (1L << (LIMIT - 69)) | (1L << (OFFSET - 69)) | (1L << (SAVEPOINT - 69)) | (1L << (BOOLEAN - 69)) | (1L << (CHAR - 69)))) != 0) || ((((_la - 133)) & ~0x3f) == 0 && ((1L << (_la - 133)) & ((1L << (ARRAY - 133)) | (1L << (INTERVAL - 133)) | (1L << (DATE - 133)) | (1L << (TIME - 133)) | (1L << (TIMESTAMP - 133)) | (1L << (LOCALTIME - 133)) | (1L << (LOCALTIMESTAMP - 133)) | (1L << (YEAR - 133)) | (1L << (QUARTER - 133)) | (1L << (MONTH - 133)) | (1L << (WEEK - 133)) | (1L << (DAY - 133)) | (1L << (SECOND - 133)) | (1L << (MICROSECOND - 133)) | (1L << (MAX - 133)) | (1L << (MIN - 133)) | (1L << (SUM - 133)) | (1L << (COUNT - 133)) | (1L << (AVG - 133)) | (1L << (ENABLE - 133)) | (1L << (DISABLE - 133)) | (1L << (INSTANCE - 133)) | (1L << (DO - 133)) | (1L << (DEFINER - 133)) | (1L << (SQL - 133)) | (1L << (CASCADED - 133)) | (1L << (LOCAL - 133)) | (1L << (NEXT - 133)) | (1L << (NAME - 133)) | (1L << (INTEGER - 133)) | (1L << (TYPE - 133)) | (1L << (TEXT - 133)) | (1L << (VIEWS - 133)))) != 0) || ((((_la - 203)) & ~0x3f) == 0 && ((1L << (_la - 203)) & ((1L << (READ_ONLY - 203)) | (1L << (DATABASE - 203)) | (1L << (RETURNS - 203)) | (1L << (DATEPART - 203)) | (1L << (PASSWORD - 203)) | (1L << (JSON_OBJECT - 203)) | (1L << (JSON_ARRAY - 203)) | (1L << (FIRST_VALUE - 203)) | (1L << (LAST_VALUE - 203)) | (1L << (APPROX_PERCENTILE_CONT - 203)) | (1L << (APPROX_PERCENTILE_DISC - 203)) | (1L << (BINARY - 203)) | (1L << (HIDDEN_ - 203)) | (1L << (MOD - 203)) | (1L << (PARTITION - 203)) | (1L << (PARTITIONS - 203)) | (1L << (TOP - 203)) | (1L << (ROW - 203)) | (1L << (ROWS - 203)) | (1L << (XOR - 203)) | (1L << (ALWAYS - 203)) | (1L << (ROLE - 203)) | (1L << (START - 203)) | (1L << (ALGORITHM - 203)) | (1L << (AUTO - 203)))) != 0) || ((((_la - 267)) & ~0x3f) == 0 && ((1L << (_la - 267)) & ((1L << (BLOCKERS - 267)) | (1L << (CLUSTERED - 267)) | (1L << (NONCLUSTERED - 267)) | (1L << (COLUMNSTORE - 267)) | (1L << (CONTENT - 267)) | (1L << (CONVERT - 267)) | (1L << (YEARS - 267)) | (1L << (MONTHS - 267)) | (1L << (WEEKS - 267)) | (1L << (DAYS - 267)) | (1L << (MINUTES - 267)) | (1L << (DENY - 267)) | (1L << (DETERMINISTIC - 267)) | (1L << (DISTRIBUTION - 267)) | (1L << (DOCUMENT - 267)) | (1L << (DURABILITY - 267)) | (1L << (ENCRYPTED - 267)) | (1L << (FILESTREAM - 267)) | (1L << (FILETABLE - 267)) | (1L << (FILLFACTOR - 267)) | (1L << (FOLLOWING - 267)) | (1L << (HASH - 267)) | (1L << (HEAP - 267)) | (1L << (INBOUND - 267)) | (1L << (OUTBOUND - 267)) | (1L << (UNBOUNDED - 267)) | (1L << (INFINITE - 267)) | (1L << (LOGIN - 267)) | (1L << (MASKED - 267)) | (1L << (MAXDOP - 267)) | (1L << (MOVE - 267)) | (1L << (NOCHECK - 267)) | (1L << (OBJECT - 267)) | (1L << (ONLINE - 267)) | (1L << (OVER - 267)) | (1L << (PAGE - 267)) | (1L << (PAUSED - 267)) | (1L << (PERIOD - 267)) | (1L << (PERSISTED - 267)) | (1L << (PRECEDING - 267)) | (1L << (RANDOMIZED - 267)) | (1L << (RANGE - 267)) | (1L << (REBUILD - 267)) | (1L << (REPLICATE - 267)) | (1L << (REPLICATION - 267)) | (1L << (RESUMABLE - 267)) | (1L << (ROWGUIDCOL - 267)) | (1L << (SAVE - 267)) | (1L << (SELF - 267)) | (1L << (SPARSE - 267)) | (1L << (SWITCH - 267)) | (1L << (TRAN - 267)) | (1L << (TRANCOUNT - 267)))) != 0) || ((((_la - 331)) & ~0x3f) == 0 && ((1L << (_la - 331)) & ((1L << (CONTROL - 331)) | (1L << (CONCAT - 331)) | (1L << (TAKE - 331)) | (1L << (OWNERSHIP - 331)) | (1L << (DEFINITION - 331)) | (1L << (APPLICATION - 331)) | (1L << (ASSEMBLY - 331)) | (1L << (SYMMETRIC - 331)) | (1L << (ASYMMETRIC - 331)) | (1L << (SERVER - 331)) | (1L << (RECEIVE - 331)) | (1L << (CHANGE - 331)) | (1L << (TRACE - 331)) | (1L << (TRACKING - 331)) | (1L << (RESOURCES - 331)) | (1L << (SETTINGS - 331)) | (1L << (STATE - 331)) | (1L << (AVAILABILITY - 331)) | (1L << (CREDENTIAL - 331)) | (1L << (ENDPOINT - 331)) | (1L << (EVENT - 331)) | (1L << (NOTIFICATION - 331)) | (1L << (LINKED - 331)) | (1L << (AUDIT - 331)) | (1L << (DDL - 331)) | (1L << (XML - 331)) | (1L << (IMPERSONATE - 331)) | (1L << (SECURABLES - 331)) | (1L << (AUTHENTICATE - 331)) | (1L << (EXTERNAL - 331)) | (1L << (ACCESS - 331)) | (1L << (ADMINISTER - 331)) | (1L << (BULK - 331)) | (1L << (OPERATIONS - 331)) | (1L << (UNSAFE - 331)) | (1L << (SHUTDOWN - 331)) | (1L << (SCOPED - 331)) | (1L << (CONFIGURATION - 331)) | (1L << (DATASPACE - 331)) | (1L << (SERVICE - 331)) | (1L << (CERTIFICATE - 331)) | (1L << (CONTRACT - 331)) | (1L << (ENCRYPTION - 331)) | (1L << (MASTER - 331)) | (1L << (DATA - 331)) | (1L << (SOURCE - 331)) | (1L << (FILE - 331)) | (1L << (FORMAT - 331)) | (1L << (LIBRARY - 331)) | (1L << (FULLTEXT - 331)) | (1L << (MASK - 331)) | (1L << (UNMASK - 331)) | (1L << (MESSAGE - 331)) | (1L << (REMOTE - 331)) | (1L << (BINDING - 331)) | (1L << (ROUTE - 331)) | (1L << (SECURITY - 331)) | (1L << (POLICY - 331)) | (1L << (AGGREGATE - 331)) | (1L << (QUEUE - 331)) | (1L << (RULE - 331)) | (1L << (SYNONYM - 331)) | (1L << (COLLECTION - 331)) | (1L << (SCRIPT - 331)))) != 0) || ((((_la - 395)) & ~0x3f) == 0 && ((1L << (_la - 395)) & ((1L << (KILL - 395)) | (1L << (BACKUP - 395)) | (1L << (LOG - 395)) | (1L << (SHOWPLAN - 395)) | (1L << (SUBSCRIBE - 395)) | (1L << (QUERY - 395)) | (1L << (NOTIFICATIONS - 395)) | (1L << (CHECKPOINT - 395)) | (1L << (SEQUENCE - 395)) | (1L << (ABORT_AFTER_WAIT - 395)) | (1L << (ALLOW_PAGE_LOCKS - 395)) | (1L << (ALLOW_ROW_LOCKS - 395)) | (1L << (ALL_SPARSE_COLUMNS - 395)) | (1L << (BUCKET_COUNT - 395)) | (1L << (COLUMNSTORE_ARCHIVE - 395)) | (1L << (COLUMN_ENCRYPTION_KEY - 395)) | (1L << (COLUMN_SET - 395)) | (1L << (COMPRESSION_DELAY - 395)) | (1L << (DATABASE_DEAULT - 395)) | (1L << (DATA_COMPRESSION - 395)) | (1L << (DATA_CONSISTENCY_CHECK - 395)) | (1L << (ENCRYPTION_TYPE - 395)) | (1L << (SYSTEM_TIME - 395)) | (1L << (SYSTEM_VERSIONING - 395)) | (1L << (TEXTIMAGE_ON - 395)) | (1L << (WAIT_AT_LOW_PRIORITY - 395)) | (1L << (STATISTICS_INCREMENTAL - 395)) | (1L << (STATISTICS_NORECOMPUTE - 395)) | (1L << (ROUND_ROBIN - 395)) | (1L << (SCHEMA_AND_DATA - 395)) | (1L << (SCHEMA_ONLY - 395)) | (1L << (SORT_IN_TEMPDB - 395)) | (1L << (IGNORE_DUP_KEY - 395)) | (1L << (IMPLICIT_TRANSACTIONS - 395)) | (1L << (MAX_DURATION - 395)) | (1L << (MEMORY_OPTIMIZED - 395)) | (1L << (MIGRATION_STATE - 395)) | (1L << (PAD_INDEX - 395)) | (1L << (REMOTE_DATA_ARCHIVE - 395)) | (1L << (FILESTREAM_ON - 395)) | (1L << (FILETABLE_COLLATE_FILENAME - 395)) | (1L << (FILETABLE_DIRECTORY - 395)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILTER_PREDICATE - 395)) | (1L << (HISTORY_RETENTION_PERIOD - 395)) | (1L << (HISTORY_TABLE - 395)) | (1L << (LOCK_ESCALATION - 395)) | (1L << (DROP_EXISTING - 395)) | (1L << (ROW_NUMBER - 395)) | (1L << (FIRST - 395)) | (1L << (DATETIME2 - 395)))) != 0) || ((((_la - 465)) & ~0x3f) == 0 && ((1L << (_la - 465)) & ((1L << (OUTPUT - 465)) | (1L << (INSERTED - 465)) | (1L << (DELETED - 465)) | (1L << (FILENAME - 465)) | (1L << (SIZE - 465)) | (1L << (MAXSIZE - 465)) | (1L << (FILEGROWTH - 465)) | (1L << (UNLIMITED - 465)) | (1L << (KB - 465)) | (1L << (MB - 465)) | (1L << (GB - 465)) | (1L << (TB - 465)) | (1L << (CONTAINS - 465)) | (1L << (MEMORY_OPTIMIZED_DATA - 465)) | (1L << (FILEGROUP - 465)) | (1L << (NON_TRANSACTED_ACCESS - 465)) | (1L << (DB_CHAINING - 465)) | (1L << (TRUSTWORTHY - 465)) | (1L << (FORWARD_ONLY - 465)) | (1L << (KEYSET - 465)) | (1L << (FAST_FORWARD - 465)) | (1L << (SCROLL_LOCKS - 465)) | (1L << (OPTIMISTIC - 465)) | (1L << (TYPE_WARNING - 465)) | (1L << (SCHEMABINDING - 465)))) != 0) || ((((_la - 529)) & ~0x3f) == 0 && ((1L << (_la - 529)) & ((1L << (CALLER - 529)) | (1L << (INPUT - 529)) | (1L << (OWNER - 529)) | (1L << (SNAPSHOT - 529)) | (1L << (REPEATABLE - 529)) | (1L << (SERIALIZABLE - 529)) | (1L << (NATIVE_COMPILATION - 529)) | (1L << (VIEW_METADATA - 529)) | (1L << (INSTEAD - 529)) | (1L << (APPEND - 529)) | (1L << (INCREMENT - 529)) | (1L << (CACHE - 529)) | (1L << (MINVALUE - 529)) | (1L << (MAXVALUE - 529)) | (1L << (RESTART - 529)) | (1L << (LOB_COMPACTION - 529)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 529)) | (1L << (REORGANIZE - 529)) | (1L << (RESUME - 529)) | (1L << (PAUSE - 529)) | (1L << (ABORT - 529)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 529)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 529)) | (1L << (IMMEDIATE - 529)) | (1L << (NO_WAIT - 529)) | (1L << (TARGET_RECOVERY_TIME - 529)) | (1L << (SECONDS - 529)) | (1L << (HONOR_BROKER_PRIORITY - 529)) | (1L << (ERROR_BROKER_CONVERSATIONS - 529)) | (1L << (NEW_BROKER - 529)) | (1L << (DISABLE_BROKER - 529)) | (1L << (ENABLE_BROKER - 529)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 529)) | (1L << (READ_COMMITTED_SNAPSHOT - 529)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 529)) | (1L << (RECURSIVE_TRIGGERS - 529)) | (1L << (QUOTED_IDENTIFIER - 529)) | (1L << (NUMERIC_ROUNDABORT - 529)) | (1L << (CONCAT_NULL_YIELDS_NULL - 529)) | (1L << (COMPATIBILITY_LEVEL - 529)) | (1L << (ARITHABORT - 529)) | (1L << (ANSI_WARNINGS - 529)) | (1L << (ANSI_PADDING - 529)) | (1L << (ANSI_NULLS - 529)))) != 0) || ((((_la - 593)) & ~0x3f) == 0 && ((1L << (_la - 593)) & ((1L << (ANSI_NULL_DEFAULT - 593)) | (1L << (PAGE_VERIFY - 593)) | (1L << (CHECKSUM - 593)) | (1L << (TORN_PAGE_DETECTION - 593)) | (1L << (BULK_LOGGED - 593)) | (1L << (RECOVERY - 593)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 593)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 593)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 593)) | (1L << (EXECUTION_COUNT - 593)) | (1L << (QUERY_CAPTURE_POLICY - 593)) | (1L << (WAIT_STATS_CAPTURE_MODE - 593)) | (1L << (MAX_PLANS_PER_QUERY - 593)) | (1L << (QUERY_CAPTURE_MODE - 593)) | (1L << (SIZE_BASED_CLEANUP_MODE - 593)) | (1L << (INTERVAL_LENGTH_MINUTES - 593)) | (1L << (MAX_STORAGE_SIZE_MB - 593)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 593)) | (1L << (CLEANUP_POLICY - 593)) | (1L << (CUSTOM - 593)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 593)) | (1L << (OPERATION_MODE - 593)) | (1L << (QUERY_STORE - 593)) | (1L << (CURSOR_DEFAULT - 593)) | (1L << (GLOBAL - 593)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 593)) | (1L << (HOURS - 593)) | (1L << (CHANGE_RETENTION - 593)) | (1L << (AUTO_CLEANUP - 593)) | (1L << (CHANGE_TRACKING - 593)) | (1L << (AUTOMATIC_TUNING - 593)) | (1L << (FORCE_LAST_GOOD_PLAN - 593)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 593)) | (1L << (AUTO_UPDATE_STATISTICS - 593)) | (1L << (AUTO_SHRINK - 593)) | (1L << (AUTO_CREATE_STATISTICS - 593)) | (1L << (INCREMENTAL - 593)) | (1L << (AUTO_CLOSE - 593)) | (1L << (DATA_RETENTION - 593)) | (1L << (TEMPORAL_HISTORY_RETENTION - 593)) | (1L << (EDITION - 593)) | (1L << (MIXED_PAGE_ALLOCATION - 593)) | (1L << (DISABLED - 593)) | (1L << (ALLOWED - 593)) | (1L << (HADR - 593)) | (1L << (MULTI_USER - 593)) | (1L << (RESTRICTED_USER - 593)) | (1L << (SINGLE_USER - 593)) | (1L << (OFFLINE - 593)) | (1L << (EMERGENCY - 593)) | (1L << (SUSPEND - 593)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 593)) | (1L << (ELASTIC_POOL - 593)) | (1L << (SERVICE_OBJECTIVE - 593)) | (1L << (DATABASE_NAME - 593)) | (1L << (ALLOW_CONNECTIONS - 593)) | (1L << (GEO - 593)) | (1L << (NAMED - 593)) | (1L << (DATEFIRST - 593)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 593)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 593)) | (1L << (SECONDARY - 593)) | (1L << (FAILOVER - 593)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 593)))) != 0) || ((((_la - 657)) & ~0x3f) == 0 && ((1L << (_la - 657)) & ((1L << (DEFAULT_LANGUAGE - 657)) | (1L << (INLINE - 657)) | (1L << (NESTED_TRIGGERS - 657)) | (1L << (TRANSFORM_NOISE_WORDS - 657)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 657)) | (1L << (PERSISTENT_LOG_BUFFER - 657)) | (1L << (DIRECTORY_NAME - 657)) | (1L << (DATEFORMAT - 657)) | (1L << (DELAYED_DURABILITY - 657)) | (1L << (AUTHORIZATION - 657)) | (1L << (TRANSFER - 657)) | (1L << (PROVIDER - 657)) | (1L << (SEARCH - 657)) | (1L << (MEMBER - 657)) | (1L << (OPENJSON - 657)) | (1L << (OPENROWSET - 657)) | (1L << (TRY_CAST - 657)) | (1L << (TRY_CONVERT - 657)))) != 0) || ((((_la - 721)) & ~0x3f) == 0 && ((1L << (_la - 721)) & ((1L << (IDENTIFIER_ - 721)) | (1L << (DELIMITED_IDENTIFIER_ - 721)) | (1L << (STRING_ - 721)) | (1L << (NUMBER_ - 721)) | (1L << (HEX_DIGIT_ - 721)) | (1L << (BIT_NUM_ - 721)) | (1L << (NCHAR_TEXT - 721)))) != 0)) {
8191 {
8192 setState(1623);
8193 jsonKeyValue();
8194 setState(1628);
8195 _errHandler.sync(this);
8196 _la = _input.LA(1);
8197 while (_la==COMMA_) {
8198 {
8199 {
8200 setState(1624);
8201 match(COMMA_);
8202 setState(1625);
8203 jsonKeyValue();
8204 }
8205 }
8206 setState(1630);
8207 _errHandler.sync(this);
8208 _la = _input.LA(1);
8209 }
8210 setState(1632);
8211 _errHandler.sync(this);
8212 _la = _input.LA(1);
8213 if (_la==NULL || _la==ABSENT) {
8214 {
8215 setState(1631);
8216 jsonNullClause();
8217 }
8218 }
8219
8220 }
8221 }
8222
8223 setState(1636);
8224 match(RP_);
8225 }
8226 }
8227 catch (RecognitionException re) {
8228 _localctx.exception = re;
8229 _errHandler.reportError(this, re);
8230 _errHandler.recover(this, re);
8231 }
8232 finally {
8233 exitRule();
8234 }
8235 return _localctx;
8236 }
8237
8238 public static class JsonArrayFunctionContext extends ParserRuleContext {
8239 public TerminalNode JSON_ARRAY() { return getToken(SQLServerStatementParser.JSON_ARRAY, 0); }
8240 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8241 public List<ExprContext> expr() {
8242 return getRuleContexts(ExprContext.class);
8243 }
8244 public ExprContext expr(int i) {
8245 return getRuleContext(ExprContext.class,i);
8246 }
8247 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8248 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
8249 public TerminalNode COMMA_(int i) {
8250 return getToken(SQLServerStatementParser.COMMA_, i);
8251 }
8252 public JsonNullClauseContext jsonNullClause() {
8253 return getRuleContext(JsonNullClauseContext.class,0);
8254 }
8255 public JsonArrayFunctionContext(ParserRuleContext parent, int invokingState) {
8256 super(parent, invokingState);
8257 }
8258 @Override public int getRuleIndex() { return RULE_jsonArrayFunction; }
8259 @Override
8260 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8261 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJsonArrayFunction(this);
8262 else return visitor.visitChildren(this);
8263 }
8264 }
8265
8266 public final JsonArrayFunctionContext jsonArrayFunction() throws RecognitionException {
8267 JsonArrayFunctionContext _localctx = new JsonArrayFunctionContext(_ctx, getState());
8268 enterRule(_localctx, 140, RULE_jsonArrayFunction);
8269 int _la;
8270 try {
8271 enterOuterAlt(_localctx, 1);
8272 {
8273 setState(1638);
8274 match(JSON_ARRAY);
8275 setState(1639);
8276 match(LP_);
8277 setState(1640);
8278 expr(0);
8279 setState(1645);
8280 _errHandler.sync(this);
8281 _la = _input.LA(1);
8282 while (_la==COMMA_) {
8283 {
8284 {
8285 setState(1641);
8286 match(COMMA_);
8287 setState(1642);
8288 expr(0);
8289 }
8290 }
8291 setState(1647);
8292 _errHandler.sync(this);
8293 _la = _input.LA(1);
8294 }
8295 setState(1649);
8296 _errHandler.sync(this);
8297 _la = _input.LA(1);
8298 if (_la==NULL || _la==ABSENT) {
8299 {
8300 setState(1648);
8301 jsonNullClause();
8302 }
8303 }
8304
8305 setState(1651);
8306 match(RP_);
8307 }
8308 }
8309 catch (RecognitionException re) {
8310 _localctx.exception = re;
8311 _errHandler.reportError(this, re);
8312 _errHandler.recover(this, re);
8313 }
8314 finally {
8315 exitRule();
8316 }
8317 return _localctx;
8318 }
8319
8320 public static class JsonKeyValueContext extends ParserRuleContext {
8321 public List<ExprContext> expr() {
8322 return getRuleContexts(ExprContext.class);
8323 }
8324 public ExprContext expr(int i) {
8325 return getRuleContext(ExprContext.class,i);
8326 }
8327 public TerminalNode COLON_() { return getToken(SQLServerStatementParser.COLON_, 0); }
8328 public JsonKeyValueContext(ParserRuleContext parent, int invokingState) {
8329 super(parent, invokingState);
8330 }
8331 @Override public int getRuleIndex() { return RULE_jsonKeyValue; }
8332 @Override
8333 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8334 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJsonKeyValue(this);
8335 else return visitor.visitChildren(this);
8336 }
8337 }
8338
8339 public final JsonKeyValueContext jsonKeyValue() throws RecognitionException {
8340 JsonKeyValueContext _localctx = new JsonKeyValueContext(_ctx, getState());
8341 enterRule(_localctx, 142, RULE_jsonKeyValue);
8342 try {
8343 enterOuterAlt(_localctx, 1);
8344 {
8345 setState(1653);
8346 expr(0);
8347 setState(1654);
8348 match(COLON_);
8349 setState(1655);
8350 expr(0);
8351 }
8352 }
8353 catch (RecognitionException re) {
8354 _localctx.exception = re;
8355 _errHandler.reportError(this, re);
8356 _errHandler.recover(this, re);
8357 }
8358 finally {
8359 exitRule();
8360 }
8361 return _localctx;
8362 }
8363
8364 public static class JsonNullClauseContext extends ParserRuleContext {
8365 public List<TerminalNode> NULL() { return getTokens(SQLServerStatementParser.NULL); }
8366 public TerminalNode NULL(int i) {
8367 return getToken(SQLServerStatementParser.NULL, i);
8368 }
8369 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
8370 public TerminalNode ABSENT() { return getToken(SQLServerStatementParser.ABSENT, 0); }
8371 public JsonNullClauseContext(ParserRuleContext parent, int invokingState) {
8372 super(parent, invokingState);
8373 }
8374 @Override public int getRuleIndex() { return RULE_jsonNullClause; }
8375 @Override
8376 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8377 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJsonNullClause(this);
8378 else return visitor.visitChildren(this);
8379 }
8380 }
8381
8382 public final JsonNullClauseContext jsonNullClause() throws RecognitionException {
8383 JsonNullClauseContext _localctx = new JsonNullClauseContext(_ctx, getState());
8384 enterRule(_localctx, 144, RULE_jsonNullClause);
8385 try {
8386 setState(1663);
8387 _errHandler.sync(this);
8388 switch (_input.LA(1)) {
8389 case NULL:
8390 enterOuterAlt(_localctx, 1);
8391 {
8392 setState(1657);
8393 match(NULL);
8394 setState(1658);
8395 match(ON);
8396 setState(1659);
8397 match(NULL);
8398 }
8399 break;
8400 case ABSENT:
8401 enterOuterAlt(_localctx, 2);
8402 {
8403 setState(1660);
8404 match(ABSENT);
8405 setState(1661);
8406 match(ON);
8407 setState(1662);
8408 match(NULL);
8409 }
8410 break;
8411 default:
8412 throw new NoViableAltException(this);
8413 }
8414 }
8415 catch (RecognitionException re) {
8416 _localctx.exception = re;
8417 _errHandler.reportError(this, re);
8418 _errHandler.recover(this, re);
8419 }
8420 finally {
8421 exitRule();
8422 }
8423 return _localctx;
8424 }
8425
8426 public static class CharFunctionContext extends ParserRuleContext {
8427 public TerminalNode CHAR() { return getToken(SQLServerStatementParser.CHAR, 0); }
8428 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8429 public List<ExprContext> expr() {
8430 return getRuleContexts(ExprContext.class);
8431 }
8432 public ExprContext expr(int i) {
8433 return getRuleContext(ExprContext.class,i);
8434 }
8435 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8436 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
8437 public TerminalNode COMMA_(int i) {
8438 return getToken(SQLServerStatementParser.COMMA_, i);
8439 }
8440 public TerminalNode USING() { return getToken(SQLServerStatementParser.USING, 0); }
8441 public IgnoredIdentifierContext ignoredIdentifier() {
8442 return getRuleContext(IgnoredIdentifierContext.class,0);
8443 }
8444 public CharFunctionContext(ParserRuleContext parent, int invokingState) {
8445 super(parent, invokingState);
8446 }
8447 @Override public int getRuleIndex() { return RULE_charFunction; }
8448 @Override
8449 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8450 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCharFunction(this);
8451 else return visitor.visitChildren(this);
8452 }
8453 }
8454
8455 public final CharFunctionContext charFunction() throws RecognitionException {
8456 CharFunctionContext _localctx = new CharFunctionContext(_ctx, getState());
8457 enterRule(_localctx, 146, RULE_charFunction);
8458 int _la;
8459 try {
8460 enterOuterAlt(_localctx, 1);
8461 {
8462 setState(1665);
8463 match(CHAR);
8464 setState(1666);
8465 match(LP_);
8466 setState(1667);
8467 expr(0);
8468 setState(1672);
8469 _errHandler.sync(this);
8470 _la = _input.LA(1);
8471 while (_la==COMMA_) {
8472 {
8473 {
8474 setState(1668);
8475 match(COMMA_);
8476 setState(1669);
8477 expr(0);
8478 }
8479 }
8480 setState(1674);
8481 _errHandler.sync(this);
8482 _la = _input.LA(1);
8483 }
8484 setState(1677);
8485 _errHandler.sync(this);
8486 _la = _input.LA(1);
8487 if (_la==USING) {
8488 {
8489 setState(1675);
8490 match(USING);
8491 setState(1676);
8492 ignoredIdentifier();
8493 }
8494 }
8495
8496 setState(1679);
8497 match(RP_);
8498 }
8499 }
8500 catch (RecognitionException re) {
8501 _localctx.exception = re;
8502 _errHandler.reportError(this, re);
8503 _errHandler.recover(this, re);
8504 }
8505 finally {
8506 exitRule();
8507 }
8508 return _localctx;
8509 }
8510
8511 public static class OpenJsonFunctionContext extends ParserRuleContext {
8512 public TerminalNode OPENJSON() { return getToken(SQLServerStatementParser.OPENJSON, 0); }
8513 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8514 public List<ExprContext> expr() {
8515 return getRuleContexts(ExprContext.class);
8516 }
8517 public ExprContext expr(int i) {
8518 return getRuleContext(ExprContext.class,i);
8519 }
8520 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8521 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
8522 public OpenJsonWithclauseContext openJsonWithclause() {
8523 return getRuleContext(OpenJsonWithclauseContext.class,0);
8524 }
8525 public OpenJsonFunctionContext(ParserRuleContext parent, int invokingState) {
8526 super(parent, invokingState);
8527 }
8528 @Override public int getRuleIndex() { return RULE_openJsonFunction; }
8529 @Override
8530 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8531 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOpenJsonFunction(this);
8532 else return visitor.visitChildren(this);
8533 }
8534 }
8535
8536 public final OpenJsonFunctionContext openJsonFunction() throws RecognitionException {
8537 OpenJsonFunctionContext _localctx = new OpenJsonFunctionContext(_ctx, getState());
8538 enterRule(_localctx, 148, RULE_openJsonFunction);
8539 int _la;
8540 try {
8541 enterOuterAlt(_localctx, 1);
8542 {
8543 setState(1681);
8544 match(OPENJSON);
8545 setState(1682);
8546 match(LP_);
8547 setState(1683);
8548 expr(0);
8549 setState(1686);
8550 _errHandler.sync(this);
8551 _la = _input.LA(1);
8552 if (_la==COMMA_) {
8553 {
8554 setState(1684);
8555 match(COMMA_);
8556 setState(1685);
8557 expr(0);
8558 }
8559 }
8560
8561 setState(1688);
8562 match(RP_);
8563 setState(1690);
8564 _errHandler.sync(this);
8565 switch ( getInterpreter().adaptivePredict(_input,81,_ctx) ) {
8566 case 1:
8567 {
8568 setState(1689);
8569 openJsonWithclause();
8570 }
8571 break;
8572 }
8573 }
8574 }
8575 catch (RecognitionException re) {
8576 _localctx.exception = re;
8577 _errHandler.reportError(this, re);
8578 _errHandler.recover(this, re);
8579 }
8580 finally {
8581 exitRule();
8582 }
8583 return _localctx;
8584 }
8585
8586 public static class OpenJsonWithclauseContext extends ParserRuleContext {
8587 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
8588 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8589 public List<JsonColumnDefinitionContext> jsonColumnDefinition() {
8590 return getRuleContexts(JsonColumnDefinitionContext.class);
8591 }
8592 public JsonColumnDefinitionContext jsonColumnDefinition(int i) {
8593 return getRuleContext(JsonColumnDefinitionContext.class,i);
8594 }
8595 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8596 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
8597 public TerminalNode COMMA_(int i) {
8598 return getToken(SQLServerStatementParser.COMMA_, i);
8599 }
8600 public OpenJsonWithclauseContext(ParserRuleContext parent, int invokingState) {
8601 super(parent, invokingState);
8602 }
8603 @Override public int getRuleIndex() { return RULE_openJsonWithclause; }
8604 @Override
8605 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8606 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOpenJsonWithclause(this);
8607 else return visitor.visitChildren(this);
8608 }
8609 }
8610
8611 public final OpenJsonWithclauseContext openJsonWithclause() throws RecognitionException {
8612 OpenJsonWithclauseContext _localctx = new OpenJsonWithclauseContext(_ctx, getState());
8613 enterRule(_localctx, 150, RULE_openJsonWithclause);
8614 int _la;
8615 try {
8616 enterOuterAlt(_localctx, 1);
8617 {
8618 setState(1692);
8619 match(WITH);
8620 setState(1693);
8621 match(LP_);
8622 setState(1694);
8623 jsonColumnDefinition();
8624 setState(1699);
8625 _errHandler.sync(this);
8626 _la = _input.LA(1);
8627 while (_la==COMMA_) {
8628 {
8629 {
8630 setState(1695);
8631 match(COMMA_);
8632 setState(1696);
8633 jsonColumnDefinition();
8634 }
8635 }
8636 setState(1701);
8637 _errHandler.sync(this);
8638 _la = _input.LA(1);
8639 }
8640 setState(1702);
8641 match(RP_);
8642 }
8643 }
8644 catch (RecognitionException re) {
8645 _localctx.exception = re;
8646 _errHandler.reportError(this, re);
8647 _errHandler.recover(this, re);
8648 }
8649 finally {
8650 exitRule();
8651 }
8652 return _localctx;
8653 }
8654
8655 public static class JsonColumnDefinitionContext extends ParserRuleContext {
8656 public ColumnNameContext columnName() {
8657 return getRuleContext(ColumnNameContext.class,0);
8658 }
8659 public DataTypeContext dataType() {
8660 return getRuleContext(DataTypeContext.class,0);
8661 }
8662 public ExprContext expr() {
8663 return getRuleContext(ExprContext.class,0);
8664 }
8665 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
8666 public TerminalNode JSON() { return getToken(SQLServerStatementParser.JSON, 0); }
8667 public JsonColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
8668 super(parent, invokingState);
8669 }
8670 @Override public int getRuleIndex() { return RULE_jsonColumnDefinition; }
8671 @Override
8672 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8673 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJsonColumnDefinition(this);
8674 else return visitor.visitChildren(this);
8675 }
8676 }
8677
8678 public final JsonColumnDefinitionContext jsonColumnDefinition() throws RecognitionException {
8679 JsonColumnDefinitionContext _localctx = new JsonColumnDefinitionContext(_ctx, getState());
8680 enterRule(_localctx, 152, RULE_jsonColumnDefinition);
8681 int _la;
8682 try {
8683 enterOuterAlt(_localctx, 1);
8684 {
8685 setState(1704);
8686 columnName();
8687 setState(1705);
8688 dataType();
8689 setState(1707);
8690 _errHandler.sync(this);
8691 _la = _input.LA(1);
8692 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_) | (1L << LP_) | (1L << LBE_) | (1L << QUESTION_) | (1L << DOLLAR_) | (1L << TRUNCATE) | (1L << SCHEMA) | (1L << COLUMNS))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (PRECISION - 69)) | (1L << (FUNCTION - 69)) | (1L << (TRIGGER - 69)) | (1L << (CASE - 69)) | (1L << (CAST - 69)) | (1L << (TRIM - 69)) | (1L << (SUBSTRING - 69)) | (1L << (OFF - 69)) | (1L << (IF - 69)) | (1L << (NOT - 69)) | (1L << (NULL - 69)) | (1L << (TRUE - 69)) | (1L << (FALSE - 69)) | (1L << (EXISTS - 69)) | (1L << (GROUP - 69)) | (1L << (LIMIT - 69)) | (1L << (OFFSET - 69)) | (1L << (SAVEPOINT - 69)) | (1L << (BOOLEAN - 69)) | (1L << (CHAR - 69)))) != 0) || ((((_la - 133)) & ~0x3f) == 0 && ((1L << (_la - 133)) & ((1L << (ARRAY - 133)) | (1L << (INTERVAL - 133)) | (1L << (DATE - 133)) | (1L << (TIME - 133)) | (1L << (TIMESTAMP - 133)) | (1L << (LOCALTIME - 133)) | (1L << (LOCALTIMESTAMP - 133)) | (1L << (YEAR - 133)) | (1L << (QUARTER - 133)) | (1L << (MONTH - 133)) | (1L << (WEEK - 133)) | (1L << (DAY - 133)) | (1L << (SECOND - 133)) | (1L << (MICROSECOND - 133)) | (1L << (MAX - 133)) | (1L << (MIN - 133)) | (1L << (SUM - 133)) | (1L << (COUNT - 133)) | (1L << (AVG - 133)) | (1L << (ENABLE - 133)) | (1L << (DISABLE - 133)) | (1L << (INSTANCE - 133)) | (1L << (DO - 133)) | (1L << (DEFINER - 133)) | (1L << (SQL - 133)) | (1L << (CASCADED - 133)) | (1L << (LOCAL - 133)) | (1L << (NEXT - 133)) | (1L << (NAME - 133)) | (1L << (INTEGER - 133)) | (1L << (TYPE - 133)) | (1L << (TEXT - 133)) | (1L << (VIEWS - 133)))) != 0) || ((((_la - 203)) & ~0x3f) == 0 && ((1L << (_la - 203)) & ((1L << (READ_ONLY - 203)) | (1L << (DATABASE - 203)) | (1L << (RETURNS - 203)) | (1L << (DATEPART - 203)) | (1L << (PASSWORD - 203)) | (1L << (JSON_OBJECT - 203)) | (1L << (JSON_ARRAY - 203)) | (1L << (FIRST_VALUE - 203)) | (1L << (LAST_VALUE - 203)) | (1L << (APPROX_PERCENTILE_CONT - 203)) | (1L << (APPROX_PERCENTILE_DISC - 203)) | (1L << (BINARY - 203)) | (1L << (HIDDEN_ - 203)) | (1L << (MOD - 203)) | (1L << (PARTITION - 203)) | (1L << (PARTITIONS - 203)) | (1L << (TOP - 203)) | (1L << (ROW - 203)) | (1L << (ROWS - 203)) | (1L << (XOR - 203)) | (1L << (ALWAYS - 203)) | (1L << (ROLE - 203)) | (1L << (START - 203)) | (1L << (ALGORITHM - 203)) | (1L << (AUTO - 203)))) != 0) || ((((_la - 267)) & ~0x3f) == 0 && ((1L << (_la - 267)) & ((1L << (BLOCKERS - 267)) | (1L << (CLUSTERED - 267)) | (1L << (NONCLUSTERED - 267)) | (1L << (COLUMNSTORE - 267)) | (1L << (CONTENT - 267)) | (1L << (CONVERT - 267)) | (1L << (YEARS - 267)) | (1L << (MONTHS - 267)) | (1L << (WEEKS - 267)) | (1L << (DAYS - 267)) | (1L << (MINUTES - 267)) | (1L << (DENY - 267)) | (1L << (DETERMINISTIC - 267)) | (1L << (DISTRIBUTION - 267)) | (1L << (DOCUMENT - 267)) | (1L << (DURABILITY - 267)) | (1L << (ENCRYPTED - 267)) | (1L << (FILESTREAM - 267)) | (1L << (FILETABLE - 267)) | (1L << (FILLFACTOR - 267)) | (1L << (FOLLOWING - 267)) | (1L << (HASH - 267)) | (1L << (HEAP - 267)) | (1L << (INBOUND - 267)) | (1L << (OUTBOUND - 267)) | (1L << (UNBOUNDED - 267)) | (1L << (INFINITE - 267)) | (1L << (LOGIN - 267)) | (1L << (MASKED - 267)) | (1L << (MAXDOP - 267)) | (1L << (MOVE - 267)) | (1L << (NOCHECK - 267)) | (1L << (OBJECT - 267)) | (1L << (ONLINE - 267)) | (1L << (OVER - 267)) | (1L << (PAGE - 267)) | (1L << (PAUSED - 267)) | (1L << (PERIOD - 267)) | (1L << (PERSISTED - 267)) | (1L << (PRECEDING - 267)) | (1L << (RANDOMIZED - 267)) | (1L << (RANGE - 267)) | (1L << (REBUILD - 267)) | (1L << (REPLICATE - 267)) | (1L << (REPLICATION - 267)) | (1L << (RESUMABLE - 267)) | (1L << (ROWGUIDCOL - 267)) | (1L << (SAVE - 267)) | (1L << (SELF - 267)) | (1L << (SPARSE - 267)) | (1L << (SWITCH - 267)) | (1L << (TRAN - 267)) | (1L << (TRANCOUNT - 267)))) != 0) || ((((_la - 331)) & ~0x3f) == 0 && ((1L << (_la - 331)) & ((1L << (CONTROL - 331)) | (1L << (CONCAT - 331)) | (1L << (TAKE - 331)) | (1L << (OWNERSHIP - 331)) | (1L << (DEFINITION - 331)) | (1L << (APPLICATION - 331)) | (1L << (ASSEMBLY - 331)) | (1L << (SYMMETRIC - 331)) | (1L << (ASYMMETRIC - 331)) | (1L << (SERVER - 331)) | (1L << (RECEIVE - 331)) | (1L << (CHANGE - 331)) | (1L << (TRACE - 331)) | (1L << (TRACKING - 331)) | (1L << (RESOURCES - 331)) | (1L << (SETTINGS - 331)) | (1L << (STATE - 331)) | (1L << (AVAILABILITY - 331)) | (1L << (CREDENTIAL - 331)) | (1L << (ENDPOINT - 331)) | (1L << (EVENT - 331)) | (1L << (NOTIFICATION - 331)) | (1L << (LINKED - 331)) | (1L << (AUDIT - 331)) | (1L << (DDL - 331)) | (1L << (XML - 331)) | (1L << (IMPERSONATE - 331)) | (1L << (SECURABLES - 331)) | (1L << (AUTHENTICATE - 331)) | (1L << (EXTERNAL - 331)) | (1L << (ACCESS - 331)) | (1L << (ADMINISTER - 331)) | (1L << (BULK - 331)) | (1L << (OPERATIONS - 331)) | (1L << (UNSAFE - 331)) | (1L << (SHUTDOWN - 331)) | (1L << (SCOPED - 331)) | (1L << (CONFIGURATION - 331)) | (1L << (DATASPACE - 331)) | (1L << (SERVICE - 331)) | (1L << (CERTIFICATE - 331)) | (1L << (CONTRACT - 331)) | (1L << (ENCRYPTION - 331)) | (1L << (MASTER - 331)) | (1L << (DATA - 331)) | (1L << (SOURCE - 331)) | (1L << (FILE - 331)) | (1L << (FORMAT - 331)) | (1L << (LIBRARY - 331)) | (1L << (FULLTEXT - 331)) | (1L << (MASK - 331)) | (1L << (UNMASK - 331)) | (1L << (MESSAGE - 331)) | (1L << (REMOTE - 331)) | (1L << (BINDING - 331)) | (1L << (ROUTE - 331)) | (1L << (SECURITY - 331)) | (1L << (POLICY - 331)) | (1L << (AGGREGATE - 331)) | (1L << (QUEUE - 331)) | (1L << (RULE - 331)) | (1L << (SYNONYM - 331)) | (1L << (COLLECTION - 331)) | (1L << (SCRIPT - 331)))) != 0) || ((((_la - 395)) & ~0x3f) == 0 && ((1L << (_la - 395)) & ((1L << (KILL - 395)) | (1L << (BACKUP - 395)) | (1L << (LOG - 395)) | (1L << (SHOWPLAN - 395)) | (1L << (SUBSCRIBE - 395)) | (1L << (QUERY - 395)) | (1L << (NOTIFICATIONS - 395)) | (1L << (CHECKPOINT - 395)) | (1L << (SEQUENCE - 395)) | (1L << (ABORT_AFTER_WAIT - 395)) | (1L << (ALLOW_PAGE_LOCKS - 395)) | (1L << (ALLOW_ROW_LOCKS - 395)) | (1L << (ALL_SPARSE_COLUMNS - 395)) | (1L << (BUCKET_COUNT - 395)) | (1L << (COLUMNSTORE_ARCHIVE - 395)) | (1L << (COLUMN_ENCRYPTION_KEY - 395)) | (1L << (COLUMN_SET - 395)) | (1L << (COMPRESSION_DELAY - 395)) | (1L << (DATABASE_DEAULT - 395)) | (1L << (DATA_COMPRESSION - 395)) | (1L << (DATA_CONSISTENCY_CHECK - 395)) | (1L << (ENCRYPTION_TYPE - 395)) | (1L << (SYSTEM_TIME - 395)) | (1L << (SYSTEM_VERSIONING - 395)) | (1L << (TEXTIMAGE_ON - 395)) | (1L << (WAIT_AT_LOW_PRIORITY - 395)) | (1L << (STATISTICS_INCREMENTAL - 395)) | (1L << (STATISTICS_NORECOMPUTE - 395)) | (1L << (ROUND_ROBIN - 395)) | (1L << (SCHEMA_AND_DATA - 395)) | (1L << (SCHEMA_ONLY - 395)) | (1L << (SORT_IN_TEMPDB - 395)) | (1L << (IGNORE_DUP_KEY - 395)) | (1L << (IMPLICIT_TRANSACTIONS - 395)) | (1L << (MAX_DURATION - 395)) | (1L << (MEMORY_OPTIMIZED - 395)) | (1L << (MIGRATION_STATE - 395)) | (1L << (PAD_INDEX - 395)) | (1L << (REMOTE_DATA_ARCHIVE - 395)) | (1L << (FILESTREAM_ON - 395)) | (1L << (FILETABLE_COLLATE_FILENAME - 395)) | (1L << (FILETABLE_DIRECTORY - 395)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILTER_PREDICATE - 395)) | (1L << (HISTORY_RETENTION_PERIOD - 395)) | (1L << (HISTORY_TABLE - 395)) | (1L << (LOCK_ESCALATION - 395)) | (1L << (DROP_EXISTING - 395)) | (1L << (ROW_NUMBER - 395)) | (1L << (FIRST - 395)) | (1L << (DATETIME2 - 395)))) != 0) || ((((_la - 465)) & ~0x3f) == 0 && ((1L << (_la - 465)) & ((1L << (OUTPUT - 465)) | (1L << (INSERTED - 465)) | (1L << (DELETED - 465)) | (1L << (FILENAME - 465)) | (1L << (SIZE - 465)) | (1L << (MAXSIZE - 465)) | (1L << (FILEGROWTH - 465)) | (1L << (UNLIMITED - 465)) | (1L << (KB - 465)) | (1L << (MB - 465)) | (1L << (GB - 465)) | (1L << (TB - 465)) | (1L << (CONTAINS - 465)) | (1L << (MEMORY_OPTIMIZED_DATA - 465)) | (1L << (FILEGROUP - 465)) | (1L << (NON_TRANSACTED_ACCESS - 465)) | (1L << (DB_CHAINING - 465)) | (1L << (TRUSTWORTHY - 465)) | (1L << (FORWARD_ONLY - 465)) | (1L << (KEYSET - 465)) | (1L << (FAST_FORWARD - 465)) | (1L << (SCROLL_LOCKS - 465)) | (1L << (OPTIMISTIC - 465)) | (1L << (TYPE_WARNING - 465)) | (1L << (SCHEMABINDING - 465)))) != 0) || ((((_la - 529)) & ~0x3f) == 0 && ((1L << (_la - 529)) & ((1L << (CALLER - 529)) | (1L << (INPUT - 529)) | (1L << (OWNER - 529)) | (1L << (SNAPSHOT - 529)) | (1L << (REPEATABLE - 529)) | (1L << (SERIALIZABLE - 529)) | (1L << (NATIVE_COMPILATION - 529)) | (1L << (VIEW_METADATA - 529)) | (1L << (INSTEAD - 529)) | (1L << (APPEND - 529)) | (1L << (INCREMENT - 529)) | (1L << (CACHE - 529)) | (1L << (MINVALUE - 529)) | (1L << (MAXVALUE - 529)) | (1L << (RESTART - 529)) | (1L << (LOB_COMPACTION - 529)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 529)) | (1L << (REORGANIZE - 529)) | (1L << (RESUME - 529)) | (1L << (PAUSE - 529)) | (1L << (ABORT - 529)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 529)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 529)) | (1L << (IMMEDIATE - 529)) | (1L << (NO_WAIT - 529)) | (1L << (TARGET_RECOVERY_TIME - 529)) | (1L << (SECONDS - 529)) | (1L << (HONOR_BROKER_PRIORITY - 529)) | (1L << (ERROR_BROKER_CONVERSATIONS - 529)) | (1L << (NEW_BROKER - 529)) | (1L << (DISABLE_BROKER - 529)) | (1L << (ENABLE_BROKER - 529)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 529)) | (1L << (READ_COMMITTED_SNAPSHOT - 529)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 529)) | (1L << (RECURSIVE_TRIGGERS - 529)) | (1L << (QUOTED_IDENTIFIER - 529)) | (1L << (NUMERIC_ROUNDABORT - 529)) | (1L << (CONCAT_NULL_YIELDS_NULL - 529)) | (1L << (COMPATIBILITY_LEVEL - 529)) | (1L << (ARITHABORT - 529)) | (1L << (ANSI_WARNINGS - 529)) | (1L << (ANSI_PADDING - 529)) | (1L << (ANSI_NULLS - 529)))) != 0) || ((((_la - 593)) & ~0x3f) == 0 && ((1L << (_la - 593)) & ((1L << (ANSI_NULL_DEFAULT - 593)) | (1L << (PAGE_VERIFY - 593)) | (1L << (CHECKSUM - 593)) | (1L << (TORN_PAGE_DETECTION - 593)) | (1L << (BULK_LOGGED - 593)) | (1L << (RECOVERY - 593)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 593)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 593)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 593)) | (1L << (EXECUTION_COUNT - 593)) | (1L << (QUERY_CAPTURE_POLICY - 593)) | (1L << (WAIT_STATS_CAPTURE_MODE - 593)) | (1L << (MAX_PLANS_PER_QUERY - 593)) | (1L << (QUERY_CAPTURE_MODE - 593)) | (1L << (SIZE_BASED_CLEANUP_MODE - 593)) | (1L << (INTERVAL_LENGTH_MINUTES - 593)) | (1L << (MAX_STORAGE_SIZE_MB - 593)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 593)) | (1L << (CLEANUP_POLICY - 593)) | (1L << (CUSTOM - 593)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 593)) | (1L << (OPERATION_MODE - 593)) | (1L << (QUERY_STORE - 593)) | (1L << (CURSOR_DEFAULT - 593)) | (1L << (GLOBAL - 593)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 593)) | (1L << (HOURS - 593)) | (1L << (CHANGE_RETENTION - 593)) | (1L << (AUTO_CLEANUP - 593)) | (1L << (CHANGE_TRACKING - 593)) | (1L << (AUTOMATIC_TUNING - 593)) | (1L << (FORCE_LAST_GOOD_PLAN - 593)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 593)) | (1L << (AUTO_UPDATE_STATISTICS - 593)) | (1L << (AUTO_SHRINK - 593)) | (1L << (AUTO_CREATE_STATISTICS - 593)) | (1L << (INCREMENTAL - 593)) | (1L << (AUTO_CLOSE - 593)) | (1L << (DATA_RETENTION - 593)) | (1L << (TEMPORAL_HISTORY_RETENTION - 593)) | (1L << (EDITION - 593)) | (1L << (MIXED_PAGE_ALLOCATION - 593)) | (1L << (DISABLED - 593)) | (1L << (ALLOWED - 593)) | (1L << (HADR - 593)) | (1L << (MULTI_USER - 593)) | (1L << (RESTRICTED_USER - 593)) | (1L << (SINGLE_USER - 593)) | (1L << (OFFLINE - 593)) | (1L << (EMERGENCY - 593)) | (1L << (SUSPEND - 593)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 593)) | (1L << (ELASTIC_POOL - 593)) | (1L << (SERVICE_OBJECTIVE - 593)) | (1L << (DATABASE_NAME - 593)) | (1L << (ALLOW_CONNECTIONS - 593)) | (1L << (GEO - 593)) | (1L << (NAMED - 593)) | (1L << (DATEFIRST - 593)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 593)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 593)) | (1L << (SECONDARY - 593)) | (1L << (FAILOVER - 593)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 593)))) != 0) || ((((_la - 657)) & ~0x3f) == 0 && ((1L << (_la - 657)) & ((1L << (DEFAULT_LANGUAGE - 657)) | (1L << (INLINE - 657)) | (1L << (NESTED_TRIGGERS - 657)) | (1L << (TRANSFORM_NOISE_WORDS - 657)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 657)) | (1L << (PERSISTENT_LOG_BUFFER - 657)) | (1L << (DIRECTORY_NAME - 657)) | (1L << (DATEFORMAT - 657)) | (1L << (DELAYED_DURABILITY - 657)) | (1L << (AUTHORIZATION - 657)) | (1L << (TRANSFER - 657)) | (1L << (PROVIDER - 657)) | (1L << (SEARCH - 657)) | (1L << (MEMBER - 657)) | (1L << (OPENJSON - 657)) | (1L << (OPENROWSET - 657)) | (1L << (TRY_CAST - 657)) | (1L << (TRY_CONVERT - 657)))) != 0) || ((((_la - 721)) & ~0x3f) == 0 && ((1L << (_la - 721)) & ((1L << (IDENTIFIER_ - 721)) | (1L << (DELIMITED_IDENTIFIER_ - 721)) | (1L << (STRING_ - 721)) | (1L << (NUMBER_ - 721)) | (1L << (HEX_DIGIT_ - 721)) | (1L << (BIT_NUM_ - 721)) | (1L << (NCHAR_TEXT - 721)))) != 0)) {
8693 {
8694 setState(1706);
8695 expr(0);
8696 }
8697 }
8698
8699 setState(1711);
8700 _errHandler.sync(this);
8701 _la = _input.LA(1);
8702 if (_la==AS) {
8703 {
8704 setState(1709);
8705 match(AS);
8706 setState(1710);
8707 match(JSON);
8708 }
8709 }
8710
8711 }
8712 }
8713 catch (RecognitionException re) {
8714 _localctx.exception = re;
8715 _errHandler.reportError(this, re);
8716 _errHandler.recover(this, re);
8717 }
8718 finally {
8719 exitRule();
8720 }
8721 return _localctx;
8722 }
8723
8724 public static class OpenRowSetFunctionContext extends ParserRuleContext {
8725 public TerminalNode OPENROWSET() { return getToken(SQLServerStatementParser.OPENROWSET, 0); }
8726 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8727 public List<ExprContext> expr() {
8728 return getRuleContexts(ExprContext.class);
8729 }
8730 public ExprContext expr(int i) {
8731 return getRuleContext(ExprContext.class,i);
8732 }
8733 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
8734 public TerminalNode COMMA_(int i) {
8735 return getToken(SQLServerStatementParser.COMMA_, i);
8736 }
8737 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8738 public TableNameContext tableName() {
8739 return getRuleContext(TableNameContext.class,0);
8740 }
8741 public List<TerminalNode> SEMI_() { return getTokens(SQLServerStatementParser.SEMI_); }
8742 public TerminalNode SEMI_(int i) {
8743 return getToken(SQLServerStatementParser.SEMI_, i);
8744 }
8745 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
8746 public OpenRowSetFunctionContext(ParserRuleContext parent, int invokingState) {
8747 super(parent, invokingState);
8748 }
8749 @Override public int getRuleIndex() { return RULE_openRowSetFunction; }
8750 @Override
8751 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8752 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOpenRowSetFunction(this);
8753 else return visitor.visitChildren(this);
8754 }
8755 }
8756
8757 public final OpenRowSetFunctionContext openRowSetFunction() throws RecognitionException {
8758 OpenRowSetFunctionContext _localctx = new OpenRowSetFunctionContext(_ctx, getState());
8759 enterRule(_localctx, 154, RULE_openRowSetFunction);
8760 int _la;
8761 try {
8762 setState(1746);
8763 _errHandler.sync(this);
8764 switch ( getInterpreter().adaptivePredict(_input,88,_ctx) ) {
8765 case 1:
8766 enterOuterAlt(_localctx, 1);
8767 {
8768 setState(1713);
8769 match(OPENROWSET);
8770 setState(1714);
8771 match(LP_);
8772 setState(1715);
8773 expr(0);
8774 setState(1716);
8775 match(COMMA_);
8776 setState(1724);
8777 _errHandler.sync(this);
8778 switch ( getInterpreter().adaptivePredict(_input,85,_ctx) ) {
8779 case 1:
8780 {
8781 {
8782 setState(1717);
8783 expr(0);
8784 setState(1718);
8785 match(SEMI_);
8786 setState(1719);
8787 expr(0);
8788 setState(1720);
8789 match(SEMI_);
8790 setState(1721);
8791 expr(0);
8792 }
8793 }
8794 break;
8795 case 2:
8796 {
8797 setState(1723);
8798 expr(0);
8799 }
8800 break;
8801 }
8802 setState(1726);
8803 match(COMMA_);
8804 setState(1729);
8805 _errHandler.sync(this);
8806 switch ( getInterpreter().adaptivePredict(_input,86,_ctx) ) {
8807 case 1:
8808 {
8809 setState(1727);
8810 tableName();
8811 }
8812 break;
8813 case 2:
8814 {
8815 setState(1728);
8816 expr(0);
8817 }
8818 break;
8819 }
8820 setState(1731);
8821 match(RP_);
8822 }
8823 break;
8824 case 2:
8825 enterOuterAlt(_localctx, 2);
8826 {
8827 setState(1733);
8828 match(OPENROWSET);
8829 setState(1734);
8830 match(LP_);
8831 setState(1735);
8832 match(BULK);
8833 setState(1736);
8834 expr(0);
8835 setState(1741);
8836 _errHandler.sync(this);
8837 _la = _input.LA(1);
8838 while (_la==COMMA_) {
8839 {
8840 {
8841 setState(1737);
8842 match(COMMA_);
8843 setState(1738);
8844 expr(0);
8845 }
8846 }
8847 setState(1743);
8848 _errHandler.sync(this);
8849 _la = _input.LA(1);
8850 }
8851 setState(1744);
8852 match(RP_);
8853 }
8854 break;
8855 }
8856 }
8857 catch (RecognitionException re) {
8858 _localctx.exception = re;
8859 _errHandler.reportError(this, re);
8860 _errHandler.recover(this, re);
8861 }
8862 finally {
8863 exitRule();
8864 }
8865 return _localctx;
8866 }
8867
8868 public static class RegularFunctionContext extends ParserRuleContext {
8869 public RegularFunctionNameContext regularFunctionName() {
8870 return getRuleContext(RegularFunctionNameContext.class,0);
8871 }
8872 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8873 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8874 public List<ExprContext> expr() {
8875 return getRuleContexts(ExprContext.class);
8876 }
8877 public ExprContext expr(int i) {
8878 return getRuleContext(ExprContext.class,i);
8879 }
8880 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
8881 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
8882 public TerminalNode COMMA_(int i) {
8883 return getToken(SQLServerStatementParser.COMMA_, i);
8884 }
8885 public RegularFunctionContext(ParserRuleContext parent, int invokingState) {
8886 super(parent, invokingState);
8887 }
8888 @Override public int getRuleIndex() { return RULE_regularFunction; }
8889 @Override
8890 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8891 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRegularFunction(this);
8892 else return visitor.visitChildren(this);
8893 }
8894 }
8895
8896 public final RegularFunctionContext regularFunction() throws RecognitionException {
8897 RegularFunctionContext _localctx = new RegularFunctionContext(_ctx, getState());
8898 enterRule(_localctx, 156, RULE_regularFunction);
8899 int _la;
8900 try {
8901 enterOuterAlt(_localctx, 1);
8902 {
8903 setState(1748);
8904 regularFunctionName();
8905 setState(1749);
8906 match(LP_);
8907 setState(1759);
8908 _errHandler.sync(this);
8909 switch (_input.LA(1)) {
8910 case NOT_:
8911 case TILDE_:
8912 case PLUS_:
8913 case MINUS_:
8914 case LP_:
8915 case LBE_:
8916 case QUESTION_:
8917 case DOLLAR_:
8918 case TRUNCATE:
8919 case SCHEMA:
8920 case COLUMNS:
8921 case PRECISION:
8922 case FUNCTION:
8923 case TRIGGER:
8924 case CASE:
8925 case CAST:
8926 case TRIM:
8927 case SUBSTRING:
8928 case OFF:
8929 case IF:
8930 case NOT:
8931 case NULL:
8932 case TRUE:
8933 case FALSE:
8934 case EXISTS:
8935 case GROUP:
8936 case LIMIT:
8937 case OFFSET:
8938 case SAVEPOINT:
8939 case BOOLEAN:
8940 case CHAR:
8941 case ARRAY:
8942 case INTERVAL:
8943 case DATE:
8944 case TIME:
8945 case TIMESTAMP:
8946 case LOCALTIME:
8947 case LOCALTIMESTAMP:
8948 case YEAR:
8949 case QUARTER:
8950 case MONTH:
8951 case WEEK:
8952 case DAY:
8953 case SECOND:
8954 case MICROSECOND:
8955 case MAX:
8956 case MIN:
8957 case SUM:
8958 case COUNT:
8959 case AVG:
8960 case ENABLE:
8961 case DISABLE:
8962 case INSTANCE:
8963 case DO:
8964 case DEFINER:
8965 case SQL:
8966 case CASCADED:
8967 case LOCAL:
8968 case NEXT:
8969 case NAME:
8970 case INTEGER:
8971 case TYPE:
8972 case TEXT:
8973 case VIEWS:
8974 case READ_ONLY:
8975 case DATABASE:
8976 case RETURNS:
8977 case DATEPART:
8978 case PASSWORD:
8979 case JSON_OBJECT:
8980 case JSON_ARRAY:
8981 case FIRST_VALUE:
8982 case LAST_VALUE:
8983 case APPROX_PERCENTILE_CONT:
8984 case APPROX_PERCENTILE_DISC:
8985 case BINARY:
8986 case HIDDEN_:
8987 case MOD:
8988 case PARTITION:
8989 case PARTITIONS:
8990 case TOP:
8991 case ROW:
8992 case ROWS:
8993 case XOR:
8994 case ALWAYS:
8995 case ROLE:
8996 case START:
8997 case ALGORITHM:
8998 case AUTO:
8999 case BLOCKERS:
9000 case CLUSTERED:
9001 case NONCLUSTERED:
9002 case COLUMNSTORE:
9003 case CONTENT:
9004 case CONVERT:
9005 case YEARS:
9006 case MONTHS:
9007 case WEEKS:
9008 case DAYS:
9009 case MINUTES:
9010 case DENY:
9011 case DETERMINISTIC:
9012 case DISTRIBUTION:
9013 case DOCUMENT:
9014 case DURABILITY:
9015 case ENCRYPTED:
9016 case FILESTREAM:
9017 case FILETABLE:
9018 case FILLFACTOR:
9019 case FOLLOWING:
9020 case HASH:
9021 case HEAP:
9022 case INBOUND:
9023 case OUTBOUND:
9024 case UNBOUNDED:
9025 case INFINITE:
9026 case LOGIN:
9027 case MASKED:
9028 case MAXDOP:
9029 case MOVE:
9030 case NOCHECK:
9031 case OBJECT:
9032 case ONLINE:
9033 case OVER:
9034 case PAGE:
9035 case PAUSED:
9036 case PERIOD:
9037 case PERSISTED:
9038 case PRECEDING:
9039 case RANDOMIZED:
9040 case RANGE:
9041 case REBUILD:
9042 case REPLICATE:
9043 case REPLICATION:
9044 case RESUMABLE:
9045 case ROWGUIDCOL:
9046 case SAVE:
9047 case SELF:
9048 case SPARSE:
9049 case SWITCH:
9050 case TRAN:
9051 case TRANCOUNT:
9052 case CONTROL:
9053 case CONCAT:
9054 case TAKE:
9055 case OWNERSHIP:
9056 case DEFINITION:
9057 case APPLICATION:
9058 case ASSEMBLY:
9059 case SYMMETRIC:
9060 case ASYMMETRIC:
9061 case SERVER:
9062 case RECEIVE:
9063 case CHANGE:
9064 case TRACE:
9065 case TRACKING:
9066 case RESOURCES:
9067 case SETTINGS:
9068 case STATE:
9069 case AVAILABILITY:
9070 case CREDENTIAL:
9071 case ENDPOINT:
9072 case EVENT:
9073 case NOTIFICATION:
9074 case LINKED:
9075 case AUDIT:
9076 case DDL:
9077 case XML:
9078 case IMPERSONATE:
9079 case SECURABLES:
9080 case AUTHENTICATE:
9081 case EXTERNAL:
9082 case ACCESS:
9083 case ADMINISTER:
9084 case BULK:
9085 case OPERATIONS:
9086 case UNSAFE:
9087 case SHUTDOWN:
9088 case SCOPED:
9089 case CONFIGURATION:
9090 case DATASPACE:
9091 case SERVICE:
9092 case CERTIFICATE:
9093 case CONTRACT:
9094 case ENCRYPTION:
9095 case MASTER:
9096 case DATA:
9097 case SOURCE:
9098 case FILE:
9099 case FORMAT:
9100 case LIBRARY:
9101 case FULLTEXT:
9102 case MASK:
9103 case UNMASK:
9104 case MESSAGE:
9105 case REMOTE:
9106 case BINDING:
9107 case ROUTE:
9108 case SECURITY:
9109 case POLICY:
9110 case AGGREGATE:
9111 case QUEUE:
9112 case RULE:
9113 case SYNONYM:
9114 case COLLECTION:
9115 case SCRIPT:
9116 case KILL:
9117 case BACKUP:
9118 case LOG:
9119 case SHOWPLAN:
9120 case SUBSCRIBE:
9121 case QUERY:
9122 case NOTIFICATIONS:
9123 case CHECKPOINT:
9124 case SEQUENCE:
9125 case ABORT_AFTER_WAIT:
9126 case ALLOW_PAGE_LOCKS:
9127 case ALLOW_ROW_LOCKS:
9128 case ALL_SPARSE_COLUMNS:
9129 case BUCKET_COUNT:
9130 case COLUMNSTORE_ARCHIVE:
9131 case COLUMN_ENCRYPTION_KEY:
9132 case COLUMN_SET:
9133 case COMPRESSION_DELAY:
9134 case DATABASE_DEAULT:
9135 case DATA_COMPRESSION:
9136 case DATA_CONSISTENCY_CHECK:
9137 case ENCRYPTION_TYPE:
9138 case SYSTEM_TIME:
9139 case SYSTEM_VERSIONING:
9140 case TEXTIMAGE_ON:
9141 case WAIT_AT_LOW_PRIORITY:
9142 case STATISTICS_INCREMENTAL:
9143 case STATISTICS_NORECOMPUTE:
9144 case ROUND_ROBIN:
9145 case SCHEMA_AND_DATA:
9146 case SCHEMA_ONLY:
9147 case SORT_IN_TEMPDB:
9148 case IGNORE_DUP_KEY:
9149 case IMPLICIT_TRANSACTIONS:
9150 case MAX_DURATION:
9151 case MEMORY_OPTIMIZED:
9152 case MIGRATION_STATE:
9153 case PAD_INDEX:
9154 case REMOTE_DATA_ARCHIVE:
9155 case FILESTREAM_ON:
9156 case FILETABLE_COLLATE_FILENAME:
9157 case FILETABLE_DIRECTORY:
9158 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
9159 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
9160 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
9161 case FILTER_PREDICATE:
9162 case HISTORY_RETENTION_PERIOD:
9163 case HISTORY_TABLE:
9164 case LOCK_ESCALATION:
9165 case DROP_EXISTING:
9166 case ROW_NUMBER:
9167 case FIRST:
9168 case DATETIME2:
9169 case OUTPUT:
9170 case INSERTED:
9171 case DELETED:
9172 case FILENAME:
9173 case SIZE:
9174 case MAXSIZE:
9175 case FILEGROWTH:
9176 case UNLIMITED:
9177 case KB:
9178 case MB:
9179 case GB:
9180 case TB:
9181 case CONTAINS:
9182 case MEMORY_OPTIMIZED_DATA:
9183 case FILEGROUP:
9184 case NON_TRANSACTED_ACCESS:
9185 case DB_CHAINING:
9186 case TRUSTWORTHY:
9187 case FORWARD_ONLY:
9188 case KEYSET:
9189 case FAST_FORWARD:
9190 case SCROLL_LOCKS:
9191 case OPTIMISTIC:
9192 case TYPE_WARNING:
9193 case SCHEMABINDING:
9194 case CALLER:
9195 case INPUT:
9196 case OWNER:
9197 case SNAPSHOT:
9198 case REPEATABLE:
9199 case SERIALIZABLE:
9200 case NATIVE_COMPILATION:
9201 case VIEW_METADATA:
9202 case INSTEAD:
9203 case APPEND:
9204 case INCREMENT:
9205 case CACHE:
9206 case MINVALUE:
9207 case MAXVALUE:
9208 case RESTART:
9209 case LOB_COMPACTION:
9210 case COMPRESS_ALL_ROW_GROUPS:
9211 case REORGANIZE:
9212 case RESUME:
9213 case PAUSE:
9214 case ABORT:
9215 case ACCELERATED_DATABASE_RECOVERY:
9216 case PERSISTENT_VERSION_STORE_FILEGROUP:
9217 case IMMEDIATE:
9218 case NO_WAIT:
9219 case TARGET_RECOVERY_TIME:
9220 case SECONDS:
9221 case HONOR_BROKER_PRIORITY:
9222 case ERROR_BROKER_CONVERSATIONS:
9223 case NEW_BROKER:
9224 case DISABLE_BROKER:
9225 case ENABLE_BROKER:
9226 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
9227 case READ_COMMITTED_SNAPSHOT:
9228 case ALLOW_SNAPSHOT_ISOLATION:
9229 case RECURSIVE_TRIGGERS:
9230 case QUOTED_IDENTIFIER:
9231 case NUMERIC_ROUNDABORT:
9232 case CONCAT_NULL_YIELDS_NULL:
9233 case COMPATIBILITY_LEVEL:
9234 case ARITHABORT:
9235 case ANSI_WARNINGS:
9236 case ANSI_PADDING:
9237 case ANSI_NULLS:
9238 case ANSI_NULL_DEFAULT:
9239 case PAGE_VERIFY:
9240 case CHECKSUM:
9241 case TORN_PAGE_DETECTION:
9242 case BULK_LOGGED:
9243 case RECOVERY:
9244 case TOTAL_EXECUTION_CPU_TIME_MS:
9245 case TOTAL_COMPILE_CPU_TIME_MS:
9246 case STALE_CAPTURE_POLICY_THRESHOLD:
9247 case EXECUTION_COUNT:
9248 case QUERY_CAPTURE_POLICY:
9249 case WAIT_STATS_CAPTURE_MODE:
9250 case MAX_PLANS_PER_QUERY:
9251 case QUERY_CAPTURE_MODE:
9252 case SIZE_BASED_CLEANUP_MODE:
9253 case INTERVAL_LENGTH_MINUTES:
9254 case MAX_STORAGE_SIZE_MB:
9255 case DATA_FLUSH_INTERVAL_SECONDS:
9256 case CLEANUP_POLICY:
9257 case CUSTOM:
9258 case STALE_QUERY_THRESHOLD_DAYS:
9259 case OPERATION_MODE:
9260 case QUERY_STORE:
9261 case CURSOR_DEFAULT:
9262 case GLOBAL:
9263 case CURSOR_CLOSE_ON_COMMIT:
9264 case HOURS:
9265 case CHANGE_RETENTION:
9266 case AUTO_CLEANUP:
9267 case CHANGE_TRACKING:
9268 case AUTOMATIC_TUNING:
9269 case FORCE_LAST_GOOD_PLAN:
9270 case AUTO_UPDATE_STATISTICS_ASYNC:
9271 case AUTO_UPDATE_STATISTICS:
9272 case AUTO_SHRINK:
9273 case AUTO_CREATE_STATISTICS:
9274 case INCREMENTAL:
9275 case AUTO_CLOSE:
9276 case DATA_RETENTION:
9277 case TEMPORAL_HISTORY_RETENTION:
9278 case EDITION:
9279 case MIXED_PAGE_ALLOCATION:
9280 case DISABLED:
9281 case ALLOWED:
9282 case HADR:
9283 case MULTI_USER:
9284 case RESTRICTED_USER:
9285 case SINGLE_USER:
9286 case OFFLINE:
9287 case EMERGENCY:
9288 case SUSPEND:
9289 case DATE_CORRELATION_OPTIMIZATION:
9290 case ELASTIC_POOL:
9291 case SERVICE_OBJECTIVE:
9292 case DATABASE_NAME:
9293 case ALLOW_CONNECTIONS:
9294 case GEO:
9295 case NAMED:
9296 case DATEFIRST:
9297 case BACKUP_STORAGE_REDUNDANCY:
9298 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
9299 case SECONDARY:
9300 case FAILOVER:
9301 case DEFAULT_FULLTEXT_LANGUAGE:
9302 case DEFAULT_LANGUAGE:
9303 case INLINE:
9304 case NESTED_TRIGGERS:
9305 case TRANSFORM_NOISE_WORDS:
9306 case TWO_DIGIT_YEAR_CUTOFF:
9307 case PERSISTENT_LOG_BUFFER:
9308 case DIRECTORY_NAME:
9309 case DATEFORMAT:
9310 case DELAYED_DURABILITY:
9311 case AUTHORIZATION:
9312 case TRANSFER:
9313 case PROVIDER:
9314 case SEARCH:
9315 case MEMBER:
9316 case OPENJSON:
9317 case OPENROWSET:
9318 case TRY_CAST:
9319 case TRY_CONVERT:
9320 case IDENTIFIER_:
9321 case DELIMITED_IDENTIFIER_:
9322 case STRING_:
9323 case NUMBER_:
9324 case HEX_DIGIT_:
9325 case BIT_NUM_:
9326 case NCHAR_TEXT:
9327 {
9328 setState(1750);
9329 expr(0);
9330 setState(1755);
9331 _errHandler.sync(this);
9332 _la = _input.LA(1);
9333 while (_la==COMMA_) {
9334 {
9335 {
9336 setState(1751);
9337 match(COMMA_);
9338 setState(1752);
9339 expr(0);
9340 }
9341 }
9342 setState(1757);
9343 _errHandler.sync(this);
9344 _la = _input.LA(1);
9345 }
9346 }
9347 break;
9348 case ASTERISK_:
9349 {
9350 setState(1758);
9351 match(ASTERISK_);
9352 }
9353 break;
9354 case RP_:
9355 break;
9356 default:
9357 break;
9358 }
9359 setState(1761);
9360 match(RP_);
9361 }
9362 }
9363 catch (RecognitionException re) {
9364 _localctx.exception = re;
9365 _errHandler.reportError(this, re);
9366 _errHandler.recover(this, re);
9367 }
9368 finally {
9369 exitRule();
9370 }
9371 return _localctx;
9372 }
9373
9374 public static class RegularFunctionNameContext extends ParserRuleContext {
9375 public IdentifierContext identifier() {
9376 return getRuleContext(IdentifierContext.class,0);
9377 }
9378 public OwnerContext owner() {
9379 return getRuleContext(OwnerContext.class,0);
9380 }
9381 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
9382 public TerminalNode IF() { return getToken(SQLServerStatementParser.IF, 0); }
9383 public TerminalNode LOCALTIME() { return getToken(SQLServerStatementParser.LOCALTIME, 0); }
9384 public TerminalNode LOCALTIMESTAMP() { return getToken(SQLServerStatementParser.LOCALTIMESTAMP, 0); }
9385 public TerminalNode INTERVAL() { return getToken(SQLServerStatementParser.INTERVAL, 0); }
9386 public RegularFunctionNameContext(ParserRuleContext parent, int invokingState) {
9387 super(parent, invokingState);
9388 }
9389 @Override public int getRuleIndex() { return RULE_regularFunctionName; }
9390 @Override
9391 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9392 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRegularFunctionName(this);
9393 else return visitor.visitChildren(this);
9394 }
9395 }
9396
9397 public final RegularFunctionNameContext regularFunctionName() throws RecognitionException {
9398 RegularFunctionNameContext _localctx = new RegularFunctionNameContext(_ctx, getState());
9399 enterRule(_localctx, 158, RULE_regularFunctionName);
9400 try {
9401 setState(1773);
9402 _errHandler.sync(this);
9403 switch ( getInterpreter().adaptivePredict(_input,92,_ctx) ) {
9404 case 1:
9405 enterOuterAlt(_localctx, 1);
9406 {
9407 setState(1766);
9408 _errHandler.sync(this);
9409 switch ( getInterpreter().adaptivePredict(_input,91,_ctx) ) {
9410 case 1:
9411 {
9412 setState(1763);
9413 owner();
9414 setState(1764);
9415 match(DOT_);
9416 }
9417 break;
9418 }
9419 setState(1768);
9420 identifier();
9421 }
9422 break;
9423 case 2:
9424 enterOuterAlt(_localctx, 2);
9425 {
9426 setState(1769);
9427 match(IF);
9428 }
9429 break;
9430 case 3:
9431 enterOuterAlt(_localctx, 3);
9432 {
9433 setState(1770);
9434 match(LOCALTIME);
9435 }
9436 break;
9437 case 4:
9438 enterOuterAlt(_localctx, 4);
9439 {
9440 setState(1771);
9441 match(LOCALTIMESTAMP);
9442 }
9443 break;
9444 case 5:
9445 enterOuterAlt(_localctx, 5);
9446 {
9447 setState(1772);
9448 match(INTERVAL);
9449 }
9450 break;
9451 }
9452 }
9453 catch (RecognitionException re) {
9454 _localctx.exception = re;
9455 _errHandler.reportError(this, re);
9456 _errHandler.recover(this, re);
9457 }
9458 finally {
9459 exitRule();
9460 }
9461 return _localctx;
9462 }
9463
9464 public static class CaseExpressionContext extends ParserRuleContext {
9465 public TerminalNode CASE() { return getToken(SQLServerStatementParser.CASE, 0); }
9466 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
9467 public SimpleExprContext simpleExpr() {
9468 return getRuleContext(SimpleExprContext.class,0);
9469 }
9470 public List<CaseWhenContext> caseWhen() {
9471 return getRuleContexts(CaseWhenContext.class);
9472 }
9473 public CaseWhenContext caseWhen(int i) {
9474 return getRuleContext(CaseWhenContext.class,i);
9475 }
9476 public CaseElseContext caseElse() {
9477 return getRuleContext(CaseElseContext.class,0);
9478 }
9479 public CaseExpressionContext(ParserRuleContext parent, int invokingState) {
9480 super(parent, invokingState);
9481 }
9482 @Override public int getRuleIndex() { return RULE_caseExpression; }
9483 @Override
9484 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9485 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCaseExpression(this);
9486 else return visitor.visitChildren(this);
9487 }
9488 }
9489
9490 public final CaseExpressionContext caseExpression() throws RecognitionException {
9491 CaseExpressionContext _localctx = new CaseExpressionContext(_ctx, getState());
9492 enterRule(_localctx, 160, RULE_caseExpression);
9493 int _la;
9494 try {
9495 enterOuterAlt(_localctx, 1);
9496 {
9497 setState(1775);
9498 match(CASE);
9499 setState(1777);
9500 _errHandler.sync(this);
9501 _la = _input.LA(1);
9502 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_) | (1L << LP_) | (1L << LBE_) | (1L << QUESTION_) | (1L << DOLLAR_) | (1L << TRUNCATE) | (1L << SCHEMA) | (1L << COLUMNS))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (PRECISION - 69)) | (1L << (FUNCTION - 69)) | (1L << (TRIGGER - 69)) | (1L << (CASE - 69)) | (1L << (CAST - 69)) | (1L << (TRIM - 69)) | (1L << (SUBSTRING - 69)) | (1L << (OFF - 69)) | (1L << (IF - 69)) | (1L << (NULL - 69)) | (1L << (TRUE - 69)) | (1L << (FALSE - 69)) | (1L << (EXISTS - 69)) | (1L << (GROUP - 69)) | (1L << (LIMIT - 69)) | (1L << (OFFSET - 69)) | (1L << (SAVEPOINT - 69)) | (1L << (BOOLEAN - 69)) | (1L << (CHAR - 69)))) != 0) || ((((_la - 133)) & ~0x3f) == 0 && ((1L << (_la - 133)) & ((1L << (ARRAY - 133)) | (1L << (INTERVAL - 133)) | (1L << (DATE - 133)) | (1L << (TIME - 133)) | (1L << (TIMESTAMP - 133)) | (1L << (LOCALTIME - 133)) | (1L << (LOCALTIMESTAMP - 133)) | (1L << (YEAR - 133)) | (1L << (QUARTER - 133)) | (1L << (MONTH - 133)) | (1L << (WEEK - 133)) | (1L << (DAY - 133)) | (1L << (SECOND - 133)) | (1L << (MICROSECOND - 133)) | (1L << (MAX - 133)) | (1L << (MIN - 133)) | (1L << (SUM - 133)) | (1L << (COUNT - 133)) | (1L << (AVG - 133)) | (1L << (ENABLE - 133)) | (1L << (DISABLE - 133)) | (1L << (INSTANCE - 133)) | (1L << (DO - 133)) | (1L << (DEFINER - 133)) | (1L << (SQL - 133)) | (1L << (CASCADED - 133)) | (1L << (LOCAL - 133)) | (1L << (NEXT - 133)) | (1L << (NAME - 133)) | (1L << (INTEGER - 133)) | (1L << (TYPE - 133)) | (1L << (TEXT - 133)) | (1L << (VIEWS - 133)))) != 0) || ((((_la - 203)) & ~0x3f) == 0 && ((1L << (_la - 203)) & ((1L << (READ_ONLY - 203)) | (1L << (DATABASE - 203)) | (1L << (RETURNS - 203)) | (1L << (DATEPART - 203)) | (1L << (PASSWORD - 203)) | (1L << (JSON_OBJECT - 203)) | (1L << (JSON_ARRAY - 203)) | (1L << (FIRST_VALUE - 203)) | (1L << (LAST_VALUE - 203)) | (1L << (APPROX_PERCENTILE_CONT - 203)) | (1L << (APPROX_PERCENTILE_DISC - 203)) | (1L << (BINARY - 203)) | (1L << (HIDDEN_ - 203)) | (1L << (MOD - 203)) | (1L << (PARTITION - 203)) | (1L << (PARTITIONS - 203)) | (1L << (TOP - 203)) | (1L << (ROW - 203)) | (1L << (ROWS - 203)) | (1L << (XOR - 203)) | (1L << (ALWAYS - 203)) | (1L << (ROLE - 203)) | (1L << (START - 203)) | (1L << (ALGORITHM - 203)) | (1L << (AUTO - 203)))) != 0) || ((((_la - 267)) & ~0x3f) == 0 && ((1L << (_la - 267)) & ((1L << (BLOCKERS - 267)) | (1L << (CLUSTERED - 267)) | (1L << (NONCLUSTERED - 267)) | (1L << (COLUMNSTORE - 267)) | (1L << (CONTENT - 267)) | (1L << (CONVERT - 267)) | (1L << (YEARS - 267)) | (1L << (MONTHS - 267)) | (1L << (WEEKS - 267)) | (1L << (DAYS - 267)) | (1L << (MINUTES - 267)) | (1L << (DENY - 267)) | (1L << (DETERMINISTIC - 267)) | (1L << (DISTRIBUTION - 267)) | (1L << (DOCUMENT - 267)) | (1L << (DURABILITY - 267)) | (1L << (ENCRYPTED - 267)) | (1L << (FILESTREAM - 267)) | (1L << (FILETABLE - 267)) | (1L << (FILLFACTOR - 267)) | (1L << (FOLLOWING - 267)) | (1L << (HASH - 267)) | (1L << (HEAP - 267)) | (1L << (INBOUND - 267)) | (1L << (OUTBOUND - 267)) | (1L << (UNBOUNDED - 267)) | (1L << (INFINITE - 267)) | (1L << (LOGIN - 267)) | (1L << (MASKED - 267)) | (1L << (MAXDOP - 267)) | (1L << (MOVE - 267)) | (1L << (NOCHECK - 267)) | (1L << (OBJECT - 267)) | (1L << (ONLINE - 267)) | (1L << (OVER - 267)) | (1L << (PAGE - 267)) | (1L << (PAUSED - 267)) | (1L << (PERIOD - 267)) | (1L << (PERSISTED - 267)) | (1L << (PRECEDING - 267)) | (1L << (RANDOMIZED - 267)) | (1L << (RANGE - 267)) | (1L << (REBUILD - 267)) | (1L << (REPLICATE - 267)) | (1L << (REPLICATION - 267)) | (1L << (RESUMABLE - 267)) | (1L << (ROWGUIDCOL - 267)) | (1L << (SAVE - 267)) | (1L << (SELF - 267)) | (1L << (SPARSE - 267)) | (1L << (SWITCH - 267)) | (1L << (TRAN - 267)) | (1L << (TRANCOUNT - 267)))) != 0) || ((((_la - 331)) & ~0x3f) == 0 && ((1L << (_la - 331)) & ((1L << (CONTROL - 331)) | (1L << (CONCAT - 331)) | (1L << (TAKE - 331)) | (1L << (OWNERSHIP - 331)) | (1L << (DEFINITION - 331)) | (1L << (APPLICATION - 331)) | (1L << (ASSEMBLY - 331)) | (1L << (SYMMETRIC - 331)) | (1L << (ASYMMETRIC - 331)) | (1L << (SERVER - 331)) | (1L << (RECEIVE - 331)) | (1L << (CHANGE - 331)) | (1L << (TRACE - 331)) | (1L << (TRACKING - 331)) | (1L << (RESOURCES - 331)) | (1L << (SETTINGS - 331)) | (1L << (STATE - 331)) | (1L << (AVAILABILITY - 331)) | (1L << (CREDENTIAL - 331)) | (1L << (ENDPOINT - 331)) | (1L << (EVENT - 331)) | (1L << (NOTIFICATION - 331)) | (1L << (LINKED - 331)) | (1L << (AUDIT - 331)) | (1L << (DDL - 331)) | (1L << (XML - 331)) | (1L << (IMPERSONATE - 331)) | (1L << (SECURABLES - 331)) | (1L << (AUTHENTICATE - 331)) | (1L << (EXTERNAL - 331)) | (1L << (ACCESS - 331)) | (1L << (ADMINISTER - 331)) | (1L << (BULK - 331)) | (1L << (OPERATIONS - 331)) | (1L << (UNSAFE - 331)) | (1L << (SHUTDOWN - 331)) | (1L << (SCOPED - 331)) | (1L << (CONFIGURATION - 331)) | (1L << (DATASPACE - 331)) | (1L << (SERVICE - 331)) | (1L << (CERTIFICATE - 331)) | (1L << (CONTRACT - 331)) | (1L << (ENCRYPTION - 331)) | (1L << (MASTER - 331)) | (1L << (DATA - 331)) | (1L << (SOURCE - 331)) | (1L << (FILE - 331)) | (1L << (FORMAT - 331)) | (1L << (LIBRARY - 331)) | (1L << (FULLTEXT - 331)) | (1L << (MASK - 331)) | (1L << (UNMASK - 331)) | (1L << (MESSAGE - 331)) | (1L << (REMOTE - 331)) | (1L << (BINDING - 331)) | (1L << (ROUTE - 331)) | (1L << (SECURITY - 331)) | (1L << (POLICY - 331)) | (1L << (AGGREGATE - 331)) | (1L << (QUEUE - 331)) | (1L << (RULE - 331)) | (1L << (SYNONYM - 331)) | (1L << (COLLECTION - 331)) | (1L << (SCRIPT - 331)))) != 0) || ((((_la - 395)) & ~0x3f) == 0 && ((1L << (_la - 395)) & ((1L << (KILL - 395)) | (1L << (BACKUP - 395)) | (1L << (LOG - 395)) | (1L << (SHOWPLAN - 395)) | (1L << (SUBSCRIBE - 395)) | (1L << (QUERY - 395)) | (1L << (NOTIFICATIONS - 395)) | (1L << (CHECKPOINT - 395)) | (1L << (SEQUENCE - 395)) | (1L << (ABORT_AFTER_WAIT - 395)) | (1L << (ALLOW_PAGE_LOCKS - 395)) | (1L << (ALLOW_ROW_LOCKS - 395)) | (1L << (ALL_SPARSE_COLUMNS - 395)) | (1L << (BUCKET_COUNT - 395)) | (1L << (COLUMNSTORE_ARCHIVE - 395)) | (1L << (COLUMN_ENCRYPTION_KEY - 395)) | (1L << (COLUMN_SET - 395)) | (1L << (COMPRESSION_DELAY - 395)) | (1L << (DATABASE_DEAULT - 395)) | (1L << (DATA_COMPRESSION - 395)) | (1L << (DATA_CONSISTENCY_CHECK - 395)) | (1L << (ENCRYPTION_TYPE - 395)) | (1L << (SYSTEM_TIME - 395)) | (1L << (SYSTEM_VERSIONING - 395)) | (1L << (TEXTIMAGE_ON - 395)) | (1L << (WAIT_AT_LOW_PRIORITY - 395)) | (1L << (STATISTICS_INCREMENTAL - 395)) | (1L << (STATISTICS_NORECOMPUTE - 395)) | (1L << (ROUND_ROBIN - 395)) | (1L << (SCHEMA_AND_DATA - 395)) | (1L << (SCHEMA_ONLY - 395)) | (1L << (SORT_IN_TEMPDB - 395)) | (1L << (IGNORE_DUP_KEY - 395)) | (1L << (IMPLICIT_TRANSACTIONS - 395)) | (1L << (MAX_DURATION - 395)) | (1L << (MEMORY_OPTIMIZED - 395)) | (1L << (MIGRATION_STATE - 395)) | (1L << (PAD_INDEX - 395)) | (1L << (REMOTE_DATA_ARCHIVE - 395)) | (1L << (FILESTREAM_ON - 395)) | (1L << (FILETABLE_COLLATE_FILENAME - 395)) | (1L << (FILETABLE_DIRECTORY - 395)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 395)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 395)) | (1L << (FILTER_PREDICATE - 395)) | (1L << (HISTORY_RETENTION_PERIOD - 395)) | (1L << (HISTORY_TABLE - 395)) | (1L << (LOCK_ESCALATION - 395)) | (1L << (DROP_EXISTING - 395)) | (1L << (ROW_NUMBER - 395)) | (1L << (FIRST - 395)) | (1L << (DATETIME2 - 395)))) != 0) || ((((_la - 465)) & ~0x3f) == 0 && ((1L << (_la - 465)) & ((1L << (OUTPUT - 465)) | (1L << (INSERTED - 465)) | (1L << (DELETED - 465)) | (1L << (FILENAME - 465)) | (1L << (SIZE - 465)) | (1L << (MAXSIZE - 465)) | (1L << (FILEGROWTH - 465)) | (1L << (UNLIMITED - 465)) | (1L << (KB - 465)) | (1L << (MB - 465)) | (1L << (GB - 465)) | (1L << (TB - 465)) | (1L << (CONTAINS - 465)) | (1L << (MEMORY_OPTIMIZED_DATA - 465)) | (1L << (FILEGROUP - 465)) | (1L << (NON_TRANSACTED_ACCESS - 465)) | (1L << (DB_CHAINING - 465)) | (1L << (TRUSTWORTHY - 465)) | (1L << (FORWARD_ONLY - 465)) | (1L << (KEYSET - 465)) | (1L << (FAST_FORWARD - 465)) | (1L << (SCROLL_LOCKS - 465)) | (1L << (OPTIMISTIC - 465)) | (1L << (TYPE_WARNING - 465)) | (1L << (SCHEMABINDING - 465)))) != 0) || ((((_la - 529)) & ~0x3f) == 0 && ((1L << (_la - 529)) & ((1L << (CALLER - 529)) | (1L << (INPUT - 529)) | (1L << (OWNER - 529)) | (1L << (SNAPSHOT - 529)) | (1L << (REPEATABLE - 529)) | (1L << (SERIALIZABLE - 529)) | (1L << (NATIVE_COMPILATION - 529)) | (1L << (VIEW_METADATA - 529)) | (1L << (INSTEAD - 529)) | (1L << (APPEND - 529)) | (1L << (INCREMENT - 529)) | (1L << (CACHE - 529)) | (1L << (MINVALUE - 529)) | (1L << (MAXVALUE - 529)) | (1L << (RESTART - 529)) | (1L << (LOB_COMPACTION - 529)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 529)) | (1L << (REORGANIZE - 529)) | (1L << (RESUME - 529)) | (1L << (PAUSE - 529)) | (1L << (ABORT - 529)) | (1L << (ACCELERATED_DATABASE_RECOVERY - 529)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 529)) | (1L << (IMMEDIATE - 529)) | (1L << (NO_WAIT - 529)) | (1L << (TARGET_RECOVERY_TIME - 529)) | (1L << (SECONDS - 529)) | (1L << (HONOR_BROKER_PRIORITY - 529)) | (1L << (ERROR_BROKER_CONVERSATIONS - 529)) | (1L << (NEW_BROKER - 529)) | (1L << (DISABLE_BROKER - 529)) | (1L << (ENABLE_BROKER - 529)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 529)) | (1L << (READ_COMMITTED_SNAPSHOT - 529)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 529)) | (1L << (RECURSIVE_TRIGGERS - 529)) | (1L << (QUOTED_IDENTIFIER - 529)) | (1L << (NUMERIC_ROUNDABORT - 529)) | (1L << (CONCAT_NULL_YIELDS_NULL - 529)) | (1L << (COMPATIBILITY_LEVEL - 529)) | (1L << (ARITHABORT - 529)) | (1L << (ANSI_WARNINGS - 529)) | (1L << (ANSI_PADDING - 529)) | (1L << (ANSI_NULLS - 529)))) != 0) || ((((_la - 593)) & ~0x3f) == 0 && ((1L << (_la - 593)) & ((1L << (ANSI_NULL_DEFAULT - 593)) | (1L << (PAGE_VERIFY - 593)) | (1L << (CHECKSUM - 593)) | (1L << (TORN_PAGE_DETECTION - 593)) | (1L << (BULK_LOGGED - 593)) | (1L << (RECOVERY - 593)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 593)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 593)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 593)) | (1L << (EXECUTION_COUNT - 593)) | (1L << (QUERY_CAPTURE_POLICY - 593)) | (1L << (WAIT_STATS_CAPTURE_MODE - 593)) | (1L << (MAX_PLANS_PER_QUERY - 593)) | (1L << (QUERY_CAPTURE_MODE - 593)) | (1L << (SIZE_BASED_CLEANUP_MODE - 593)) | (1L << (INTERVAL_LENGTH_MINUTES - 593)) | (1L << (MAX_STORAGE_SIZE_MB - 593)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 593)) | (1L << (CLEANUP_POLICY - 593)) | (1L << (CUSTOM - 593)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 593)) | (1L << (OPERATION_MODE - 593)) | (1L << (QUERY_STORE - 593)) | (1L << (CURSOR_DEFAULT - 593)) | (1L << (GLOBAL - 593)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 593)) | (1L << (HOURS - 593)) | (1L << (CHANGE_RETENTION - 593)) | (1L << (AUTO_CLEANUP - 593)) | (1L << (CHANGE_TRACKING - 593)) | (1L << (AUTOMATIC_TUNING - 593)) | (1L << (FORCE_LAST_GOOD_PLAN - 593)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 593)) | (1L << (AUTO_UPDATE_STATISTICS - 593)) | (1L << (AUTO_SHRINK - 593)) | (1L << (AUTO_CREATE_STATISTICS - 593)) | (1L << (INCREMENTAL - 593)) | (1L << (AUTO_CLOSE - 593)) | (1L << (DATA_RETENTION - 593)) | (1L << (TEMPORAL_HISTORY_RETENTION - 593)) | (1L << (EDITION - 593)) | (1L << (MIXED_PAGE_ALLOCATION - 593)) | (1L << (DISABLED - 593)) | (1L << (ALLOWED - 593)) | (1L << (HADR - 593)) | (1L << (MULTI_USER - 593)) | (1L << (RESTRICTED_USER - 593)) | (1L << (SINGLE_USER - 593)) | (1L << (OFFLINE - 593)) | (1L << (EMERGENCY - 593)) | (1L << (SUSPEND - 593)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 593)) | (1L << (ELASTIC_POOL - 593)) | (1L << (SERVICE_OBJECTIVE - 593)) | (1L << (DATABASE_NAME - 593)) | (1L << (ALLOW_CONNECTIONS - 593)) | (1L << (GEO - 593)) | (1L << (NAMED - 593)) | (1L << (DATEFIRST - 593)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 593)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 593)) | (1L << (SECONDARY - 593)) | (1L << (FAILOVER - 593)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 593)))) != 0) || ((((_la - 657)) & ~0x3f) == 0 && ((1L << (_la - 657)) & ((1L << (DEFAULT_LANGUAGE - 657)) | (1L << (INLINE - 657)) | (1L << (NESTED_TRIGGERS - 657)) | (1L << (TRANSFORM_NOISE_WORDS - 657)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 657)) | (1L << (PERSISTENT_LOG_BUFFER - 657)) | (1L << (DIRECTORY_NAME - 657)) | (1L << (DATEFORMAT - 657)) | (1L << (DELAYED_DURABILITY - 657)) | (1L << (AUTHORIZATION - 657)) | (1L << (TRANSFER - 657)) | (1L << (PROVIDER - 657)) | (1L << (SEARCH - 657)) | (1L << (MEMBER - 657)) | (1L << (OPENJSON - 657)) | (1L << (OPENROWSET - 657)) | (1L << (TRY_CAST - 657)) | (1L << (TRY_CONVERT - 657)))) != 0) || ((((_la - 721)) & ~0x3f) == 0 && ((1L << (_la - 721)) & ((1L << (IDENTIFIER_ - 721)) | (1L << (DELIMITED_IDENTIFIER_ - 721)) | (1L << (STRING_ - 721)) | (1L << (NUMBER_ - 721)) | (1L << (HEX_DIGIT_ - 721)) | (1L << (BIT_NUM_ - 721)) | (1L << (NCHAR_TEXT - 721)))) != 0)) {
9503 {
9504 setState(1776);
9505 simpleExpr(0);
9506 }
9507 }
9508
9509 setState(1780);
9510 _errHandler.sync(this);
9511 _la = _input.LA(1);
9512 do {
9513 {
9514 {
9515 setState(1779);
9516 caseWhen();
9517 }
9518 }
9519 setState(1782);
9520 _errHandler.sync(this);
9521 _la = _input.LA(1);
9522 } while ( _la==WHEN );
9523 setState(1785);
9524 _errHandler.sync(this);
9525 _la = _input.LA(1);
9526 if (_la==ELSE) {
9527 {
9528 setState(1784);
9529 caseElse();
9530 }
9531 }
9532
9533 setState(1787);
9534 match(END);
9535 }
9536 }
9537 catch (RecognitionException re) {
9538 _localctx.exception = re;
9539 _errHandler.reportError(this, re);
9540 _errHandler.recover(this, re);
9541 }
9542 finally {
9543 exitRule();
9544 }
9545 return _localctx;
9546 }
9547
9548 public static class CaseWhenContext extends ParserRuleContext {
9549 public TerminalNode WHEN() { return getToken(SQLServerStatementParser.WHEN, 0); }
9550 public List<ExprContext> expr() {
9551 return getRuleContexts(ExprContext.class);
9552 }
9553 public ExprContext expr(int i) {
9554 return getRuleContext(ExprContext.class,i);
9555 }
9556 public TerminalNode THEN() { return getToken(SQLServerStatementParser.THEN, 0); }
9557 public CaseWhenContext(ParserRuleContext parent, int invokingState) {
9558 super(parent, invokingState);
9559 }
9560 @Override public int getRuleIndex() { return RULE_caseWhen; }
9561 @Override
9562 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9563 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCaseWhen(this);
9564 else return visitor.visitChildren(this);
9565 }
9566 }
9567
9568 public final CaseWhenContext caseWhen() throws RecognitionException {
9569 CaseWhenContext _localctx = new CaseWhenContext(_ctx, getState());
9570 enterRule(_localctx, 162, RULE_caseWhen);
9571 try {
9572 enterOuterAlt(_localctx, 1);
9573 {
9574 setState(1789);
9575 match(WHEN);
9576 setState(1790);
9577 expr(0);
9578 setState(1791);
9579 match(THEN);
9580 setState(1792);
9581 expr(0);
9582 }
9583 }
9584 catch (RecognitionException re) {
9585 _localctx.exception = re;
9586 _errHandler.reportError(this, re);
9587 _errHandler.recover(this, re);
9588 }
9589 finally {
9590 exitRule();
9591 }
9592 return _localctx;
9593 }
9594
9595 public static class CaseElseContext extends ParserRuleContext {
9596 public TerminalNode ELSE() { return getToken(SQLServerStatementParser.ELSE, 0); }
9597 public ExprContext expr() {
9598 return getRuleContext(ExprContext.class,0);
9599 }
9600 public CaseElseContext(ParserRuleContext parent, int invokingState) {
9601 super(parent, invokingState);
9602 }
9603 @Override public int getRuleIndex() { return RULE_caseElse; }
9604 @Override
9605 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9606 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCaseElse(this);
9607 else return visitor.visitChildren(this);
9608 }
9609 }
9610
9611 public final CaseElseContext caseElse() throws RecognitionException {
9612 CaseElseContext _localctx = new CaseElseContext(_ctx, getState());
9613 enterRule(_localctx, 164, RULE_caseElse);
9614 try {
9615 enterOuterAlt(_localctx, 1);
9616 {
9617 setState(1794);
9618 match(ELSE);
9619 setState(1795);
9620 expr(0);
9621 }
9622 }
9623 catch (RecognitionException re) {
9624 _localctx.exception = re;
9625 _errHandler.reportError(this, re);
9626 _errHandler.recover(this, re);
9627 }
9628 finally {
9629 exitRule();
9630 }
9631 return _localctx;
9632 }
9633
9634 public static class PrivateExprOfDbContext extends ParserRuleContext {
9635 public WindowFunctionContext windowFunction() {
9636 return getRuleContext(WindowFunctionContext.class,0);
9637 }
9638 public AtTimeZoneExprContext atTimeZoneExpr() {
9639 return getRuleContext(AtTimeZoneExprContext.class,0);
9640 }
9641 public CastExprContext castExpr() {
9642 return getRuleContext(CastExprContext.class,0);
9643 }
9644 public ConvertExprContext convertExpr() {
9645 return getRuleContext(ConvertExprContext.class,0);
9646 }
9647 public PrivateExprOfDbContext(ParserRuleContext parent, int invokingState) {
9648 super(parent, invokingState);
9649 }
9650 @Override public int getRuleIndex() { return RULE_privateExprOfDb; }
9651 @Override
9652 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9653 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrivateExprOfDb(this);
9654 else return visitor.visitChildren(this);
9655 }
9656 }
9657
9658 public final PrivateExprOfDbContext privateExprOfDb() throws RecognitionException {
9659 PrivateExprOfDbContext _localctx = new PrivateExprOfDbContext(_ctx, getState());
9660 enterRule(_localctx, 166, RULE_privateExprOfDb);
9661 try {
9662 setState(1801);
9663 _errHandler.sync(this);
9664 switch (_input.LA(1)) {
9665 case FIRST_VALUE:
9666 case LAST_VALUE:
9667 enterOuterAlt(_localctx, 1);
9668 {
9669 setState(1797);
9670 windowFunction();
9671 }
9672 break;
9673 case IDENTIFIER_:
9674 enterOuterAlt(_localctx, 2);
9675 {
9676 setState(1798);
9677 atTimeZoneExpr();
9678 }
9679 break;
9680 case CAST:
9681 enterOuterAlt(_localctx, 3);
9682 {
9683 setState(1799);
9684 castExpr();
9685 }
9686 break;
9687 case CONVERT:
9688 enterOuterAlt(_localctx, 4);
9689 {
9690 setState(1800);
9691 convertExpr();
9692 }
9693 break;
9694 default:
9695 throw new NoViableAltException(this);
9696 }
9697 }
9698 catch (RecognitionException re) {
9699 _localctx.exception = re;
9700 _errHandler.reportError(this, re);
9701 _errHandler.recover(this, re);
9702 }
9703 finally {
9704 exitRule();
9705 }
9706 return _localctx;
9707 }
9708
9709 public static class OrderByClauseContext extends ParserRuleContext {
9710 public TerminalNode ORDER() { return getToken(SQLServerStatementParser.ORDER, 0); }
9711 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
9712 public List<OrderByItemContext> orderByItem() {
9713 return getRuleContexts(OrderByItemContext.class);
9714 }
9715 public OrderByItemContext orderByItem(int i) {
9716 return getRuleContext(OrderByItemContext.class,i);
9717 }
9718 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
9719 public TerminalNode COMMA_(int i) {
9720 return getToken(SQLServerStatementParser.COMMA_, i);
9721 }
9722 public TerminalNode OFFSET() { return getToken(SQLServerStatementParser.OFFSET, 0); }
9723 public List<ExprContext> expr() {
9724 return getRuleContexts(ExprContext.class);
9725 }
9726 public ExprContext expr(int i) {
9727 return getRuleContext(ExprContext.class,i);
9728 }
9729 public List<TerminalNode> ROW() { return getTokens(SQLServerStatementParser.ROW); }
9730 public TerminalNode ROW(int i) {
9731 return getToken(SQLServerStatementParser.ROW, i);
9732 }
9733 public List<TerminalNode> ROWS() { return getTokens(SQLServerStatementParser.ROWS); }
9734 public TerminalNode ROWS(int i) {
9735 return getToken(SQLServerStatementParser.ROWS, i);
9736 }
9737 public TerminalNode FETCH() { return getToken(SQLServerStatementParser.FETCH, 0); }
9738 public TerminalNode ONLY() { return getToken(SQLServerStatementParser.ONLY, 0); }
9739 public TerminalNode FIRST() { return getToken(SQLServerStatementParser.FIRST, 0); }
9740 public TerminalNode NEXT() { return getToken(SQLServerStatementParser.NEXT, 0); }
9741 public OrderByClauseContext(ParserRuleContext parent, int invokingState) {
9742 super(parent, invokingState);
9743 }
9744 @Override public int getRuleIndex() { return RULE_orderByClause; }
9745 @Override
9746 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9747 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOrderByClause(this);
9748 else return visitor.visitChildren(this);
9749 }
9750 }
9751
9752 public final OrderByClauseContext orderByClause() throws RecognitionException {
9753 OrderByClauseContext _localctx = new OrderByClauseContext(_ctx, getState());
9754 enterRule(_localctx, 168, RULE_orderByClause);
9755 int _la;
9756 try {
9757 enterOuterAlt(_localctx, 1);
9758 {
9759 setState(1803);
9760 match(ORDER);
9761 setState(1804);
9762 match(BY);
9763 setState(1805);
9764 orderByItem();
9765 setState(1810);
9766 _errHandler.sync(this);
9767 _la = _input.LA(1);
9768 while (_la==COMMA_) {
9769 {
9770 {
9771 setState(1806);
9772 match(COMMA_);
9773 setState(1807);
9774 orderByItem();
9775 }
9776 }
9777 setState(1812);
9778 _errHandler.sync(this);
9779 _la = _input.LA(1);
9780 }
9781 setState(1824);
9782 _errHandler.sync(this);
9783 _la = _input.LA(1);
9784 if (_la==OFFSET) {
9785 {
9786 setState(1813);
9787 match(OFFSET);
9788 setState(1814);
9789 expr(0);
9790 setState(1815);
9791 _la = _input.LA(1);
9792 if ( !(_la==ROW || _la==ROWS) ) {
9793 _errHandler.recoverInline(this);
9794 }
9795 else {
9796 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9797 _errHandler.reportMatch(this);
9798 consume();
9799 }
9800 setState(1822);
9801 _errHandler.sync(this);
9802 _la = _input.LA(1);
9803 if (_la==FETCH) {
9804 {
9805 setState(1816);
9806 match(FETCH);
9807 setState(1817);
9808 _la = _input.LA(1);
9809 if ( !(_la==NEXT || _la==FIRST) ) {
9810 _errHandler.recoverInline(this);
9811 }
9812 else {
9813 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9814 _errHandler.reportMatch(this);
9815 consume();
9816 }
9817 setState(1818);
9818 expr(0);
9819 setState(1819);
9820 _la = _input.LA(1);
9821 if ( !(_la==ROW || _la==ROWS) ) {
9822 _errHandler.recoverInline(this);
9823 }
9824 else {
9825 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9826 _errHandler.reportMatch(this);
9827 consume();
9828 }
9829 setState(1820);
9830 match(ONLY);
9831 }
9832 }
9833
9834 }
9835 }
9836
9837 }
9838 }
9839 catch (RecognitionException re) {
9840 _localctx.exception = re;
9841 _errHandler.reportError(this, re);
9842 _errHandler.recover(this, re);
9843 }
9844 finally {
9845 exitRule();
9846 }
9847 return _localctx;
9848 }
9849
9850 public static class OrderByItemContext extends ParserRuleContext {
9851 public ColumnNameContext columnName() {
9852 return getRuleContext(ColumnNameContext.class,0);
9853 }
9854 public NumberLiteralsContext numberLiterals() {
9855 return getRuleContext(NumberLiteralsContext.class,0);
9856 }
9857 public ExprContext expr() {
9858 return getRuleContext(ExprContext.class,0);
9859 }
9860 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
9861 public IdentifierContext identifier() {
9862 return getRuleContext(IdentifierContext.class,0);
9863 }
9864 public TerminalNode ASC() { return getToken(SQLServerStatementParser.ASC, 0); }
9865 public TerminalNode DESC() { return getToken(SQLServerStatementParser.DESC, 0); }
9866 public OrderByItemContext(ParserRuleContext parent, int invokingState) {
9867 super(parent, invokingState);
9868 }
9869 @Override public int getRuleIndex() { return RULE_orderByItem; }
9870 @Override
9871 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9872 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOrderByItem(this);
9873 else return visitor.visitChildren(this);
9874 }
9875 }
9876
9877 public final OrderByItemContext orderByItem() throws RecognitionException {
9878 OrderByItemContext _localctx = new OrderByItemContext(_ctx, getState());
9879 enterRule(_localctx, 170, RULE_orderByItem);
9880 int _la;
9881 try {
9882 enterOuterAlt(_localctx, 1);
9883 {
9884 setState(1829);
9885 _errHandler.sync(this);
9886 switch ( getInterpreter().adaptivePredict(_input,100,_ctx) ) {
9887 case 1:
9888 {
9889 setState(1826);
9890 columnName();
9891 }
9892 break;
9893 case 2:
9894 {
9895 setState(1827);
9896 numberLiterals();
9897 }
9898 break;
9899 case 3:
9900 {
9901 setState(1828);
9902 expr(0);
9903 }
9904 break;
9905 }
9906 setState(1833);
9907 _errHandler.sync(this);
9908 _la = _input.LA(1);
9909 if (_la==COLLATE) {
9910 {
9911 setState(1831);
9912 match(COLLATE);
9913 setState(1832);
9914 identifier();
9915 }
9916 }
9917
9918 setState(1836);
9919 _errHandler.sync(this);
9920 _la = _input.LA(1);
9921 if (_la==ASC || _la==DESC) {
9922 {
9923 setState(1835);
9924 _la = _input.LA(1);
9925 if ( !(_la==ASC || _la==DESC) ) {
9926 _errHandler.recoverInline(this);
9927 }
9928 else {
9929 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9930 _errHandler.reportMatch(this);
9931 consume();
9932 }
9933 }
9934 }
9935
9936 }
9937 }
9938 catch (RecognitionException re) {
9939 _localctx.exception = re;
9940 _errHandler.reportError(this, re);
9941 _errHandler.recover(this, re);
9942 }
9943 finally {
9944 exitRule();
9945 }
9946 return _localctx;
9947 }
9948
9949 public static class DataTypeContext extends ParserRuleContext {
9950 public DataTypeNameContext dataTypeName() {
9951 return getRuleContext(DataTypeNameContext.class,0);
9952 }
9953 public List<IgnoredIdentifierContext> ignoredIdentifier() {
9954 return getRuleContexts(IgnoredIdentifierContext.class);
9955 }
9956 public IgnoredIdentifierContext ignoredIdentifier(int i) {
9957 return getRuleContext(IgnoredIdentifierContext.class,i);
9958 }
9959 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
9960 public DataTypeLengthContext dataTypeLength() {
9961 return getRuleContext(DataTypeLengthContext.class,0);
9962 }
9963 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
9964 public TerminalNode MAX() { return getToken(SQLServerStatementParser.MAX, 0); }
9965 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
9966 public TerminalNode CONTENT() { return getToken(SQLServerStatementParser.CONTENT, 0); }
9967 public TerminalNode DOCUMENT() { return getToken(SQLServerStatementParser.DOCUMENT, 0); }
9968 public DataTypeContext(ParserRuleContext parent, int invokingState) {
9969 super(parent, invokingState);
9970 }
9971 @Override public int getRuleIndex() { return RULE_dataType; }
9972 @Override
9973 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9974 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataType(this);
9975 else return visitor.visitChildren(this);
9976 }
9977 }
9978
9979 public final DataTypeContext dataType() throws RecognitionException {
9980 DataTypeContext _localctx = new DataTypeContext(_ctx, getState());
9981 enterRule(_localctx, 172, RULE_dataType);
9982 int _la;
9983 try {
9984 enterOuterAlt(_localctx, 1);
9985 {
9986 setState(1841);
9987 _errHandler.sync(this);
9988 switch ( getInterpreter().adaptivePredict(_input,103,_ctx) ) {
9989 case 1:
9990 {
9991 setState(1838);
9992 ignoredIdentifier();
9993 setState(1839);
9994 match(DOT_);
9995 }
9996 break;
9997 }
9998 setState(1843);
9999 dataTypeName();
10000 setState(1855);
10001 _errHandler.sync(this);
10002 switch ( getInterpreter().adaptivePredict(_input,105,_ctx) ) {
10003 case 1:
10004 {
10005 setState(1844);
10006 dataTypeLength();
10007 }
10008 break;
10009 case 2:
10010 {
10011 setState(1845);
10012 match(LP_);
10013 setState(1846);
10014 match(MAX);
10015 setState(1847);
10016 match(RP_);
10017 }
10018 break;
10019 case 3:
10020 {
10021 setState(1848);
10022 match(LP_);
10023 setState(1850);
10024 _errHandler.sync(this);
10025 _la = _input.LA(1);
10026 if (_la==CONTENT || _la==DOCUMENT) {
10027 {
10028 setState(1849);
10029 _la = _input.LA(1);
10030 if ( !(_la==CONTENT || _la==DOCUMENT) ) {
10031 _errHandler.recoverInline(this);
10032 }
10033 else {
10034 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10035 _errHandler.reportMatch(this);
10036 consume();
10037 }
10038 }
10039 }
10040
10041 setState(1852);
10042 ignoredIdentifier();
10043 setState(1853);
10044 match(RP_);
10045 }
10046 break;
10047 }
10048 }
10049 }
10050 catch (RecognitionException re) {
10051 _localctx.exception = re;
10052 _errHandler.reportError(this, re);
10053 _errHandler.recover(this, re);
10054 }
10055 finally {
10056 exitRule();
10057 }
10058 return _localctx;
10059 }
10060
10061 public static class DataTypeNameContext extends ParserRuleContext {
10062 public TerminalNode BIGINT() { return getToken(SQLServerStatementParser.BIGINT, 0); }
10063 public TerminalNode NUMERIC() { return getToken(SQLServerStatementParser.NUMERIC, 0); }
10064 public TerminalNode BIT() { return getToken(SQLServerStatementParser.BIT, 0); }
10065 public TerminalNode SMALLINT() { return getToken(SQLServerStatementParser.SMALLINT, 0); }
10066 public TerminalNode DECIMAL() { return getToken(SQLServerStatementParser.DECIMAL, 0); }
10067 public TerminalNode SMALLMONEY() { return getToken(SQLServerStatementParser.SMALLMONEY, 0); }
10068 public TerminalNode INT() { return getToken(SQLServerStatementParser.INT, 0); }
10069 public TerminalNode TINYINT() { return getToken(SQLServerStatementParser.TINYINT, 0); }
10070 public TerminalNode MONEY() { return getToken(SQLServerStatementParser.MONEY, 0); }
10071 public TerminalNode FLOAT() { return getToken(SQLServerStatementParser.FLOAT, 0); }
10072 public TerminalNode REAL() { return getToken(SQLServerStatementParser.REAL, 0); }
10073 public TerminalNode DATE() { return getToken(SQLServerStatementParser.DATE, 0); }
10074 public TerminalNode DATETIMEOFFSET() { return getToken(SQLServerStatementParser.DATETIMEOFFSET, 0); }
10075 public TerminalNode SMALLDATETIME() { return getToken(SQLServerStatementParser.SMALLDATETIME, 0); }
10076 public TerminalNode DATETIME() { return getToken(SQLServerStatementParser.DATETIME, 0); }
10077 public TerminalNode DATETIME2() { return getToken(SQLServerStatementParser.DATETIME2, 0); }
10078 public TerminalNode TIME() { return getToken(SQLServerStatementParser.TIME, 0); }
10079 public TerminalNode CHAR() { return getToken(SQLServerStatementParser.CHAR, 0); }
10080 public TerminalNode VARCHAR() { return getToken(SQLServerStatementParser.VARCHAR, 0); }
10081 public TerminalNode TEXT() { return getToken(SQLServerStatementParser.TEXT, 0); }
10082 public TerminalNode NCHAR() { return getToken(SQLServerStatementParser.NCHAR, 0); }
10083 public TerminalNode NVARCHAR() { return getToken(SQLServerStatementParser.NVARCHAR, 0); }
10084 public TerminalNode NTEXT() { return getToken(SQLServerStatementParser.NTEXT, 0); }
10085 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
10086 public TerminalNode VARBINARY() { return getToken(SQLServerStatementParser.VARBINARY, 0); }
10087 public TerminalNode IMAGE() { return getToken(SQLServerStatementParser.IMAGE, 0); }
10088 public TerminalNode SQL_VARIANT() { return getToken(SQLServerStatementParser.SQL_VARIANT, 0); }
10089 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
10090 public TerminalNode UNIQUEIDENTIFIER() { return getToken(SQLServerStatementParser.UNIQUEIDENTIFIER, 0); }
10091 public TerminalNode HIERARCHYID() { return getToken(SQLServerStatementParser.HIERARCHYID, 0); }
10092 public TerminalNode GEOMETRY() { return getToken(SQLServerStatementParser.GEOMETRY, 0); }
10093 public TerminalNode GEOGRAPHY() { return getToken(SQLServerStatementParser.GEOGRAPHY, 0); }
10094 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
10095 public TerminalNode INTEGER() { return getToken(SQLServerStatementParser.INTEGER, 0); }
10096 public DataTypeNameContext(ParserRuleContext parent, int invokingState) {
10097 super(parent, invokingState);
10098 }
10099 @Override public int getRuleIndex() { return RULE_dataTypeName; }
10100 @Override
10101 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10102 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataTypeName(this);
10103 else return visitor.visitChildren(this);
10104 }
10105 }
10106
10107 public final DataTypeNameContext dataTypeName() throws RecognitionException {
10108 DataTypeNameContext _localctx = new DataTypeNameContext(_ctx, getState());
10109 enterRule(_localctx, 174, RULE_dataTypeName);
10110 int _la;
10111 try {
10112 enterOuterAlt(_localctx, 1);
10113 {
10114 setState(1857);
10115 _la = _input.LA(1);
10116 if ( !(((((_la - 131)) & ~0x3f) == 0 && ((1L << (_la - 131)) & ((1L << (CHAR - 131)) | (1L << (DATE - 131)) | (1L << (TIME - 131)) | (1L << (INTEGER - 131)) | (1L << (REAL - 131)) | (1L << (DECIMAL - 131)) | (1L << (BIT - 131)) | (1L << (SMALLINT - 131)) | (1L << (INT - 131)) | (1L << (TINYINT - 131)) | (1L << (NUMERIC - 131)) | (1L << (FLOAT - 131)) | (1L << (BIGINT - 131)) | (1L << (TEXT - 131)) | (1L << (VARCHAR - 131)))) != 0) || _la==BINARY || _la==XML || ((((_la - 449)) & ~0x3f) == 0 && ((1L << (_la - 449)) & ((1L << (MONEY - 449)) | (1L << (SMALLMONEY - 449)) | (1L << (DATETIMEOFFSET - 449)) | (1L << (DATETIME - 449)) | (1L << (DATETIME2 - 449)) | (1L << (SMALLDATETIME - 449)) | (1L << (NCHAR - 449)) | (1L << (NVARCHAR - 449)) | (1L << (NTEXT - 449)) | (1L << (VARBINARY - 449)) | (1L << (IMAGE - 449)) | (1L << (SQL_VARIANT - 449)) | (1L << (UNIQUEIDENTIFIER - 449)) | (1L << (HIERARCHYID - 449)) | (1L << (GEOMETRY - 449)) | (1L << (GEOGRAPHY - 449)))) != 0) || _la==IDENTIFIER_) ) {
10117 _errHandler.recoverInline(this);
10118 }
10119 else {
10120 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10121 _errHandler.reportMatch(this);
10122 consume();
10123 }
10124 }
10125 }
10126 catch (RecognitionException re) {
10127 _localctx.exception = re;
10128 _errHandler.reportError(this, re);
10129 _errHandler.recover(this, re);
10130 }
10131 finally {
10132 exitRule();
10133 }
10134 return _localctx;
10135 }
10136
10137 public static class AtTimeZoneExprContext extends ParserRuleContext {
10138 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
10139 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
10140 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
10141 public TerminalNode TIME() { return getToken(SQLServerStatementParser.TIME, 0); }
10142 public TerminalNode ZONE() { return getToken(SQLServerStatementParser.ZONE, 0); }
10143 public AtTimeZoneExprContext(ParserRuleContext parent, int invokingState) {
10144 super(parent, invokingState);
10145 }
10146 @Override public int getRuleIndex() { return RULE_atTimeZoneExpr; }
10147 @Override
10148 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10149 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAtTimeZoneExpr(this);
10150 else return visitor.visitChildren(this);
10151 }
10152 }
10153
10154 public final AtTimeZoneExprContext atTimeZoneExpr() throws RecognitionException {
10155 AtTimeZoneExprContext _localctx = new AtTimeZoneExprContext(_ctx, getState());
10156 enterRule(_localctx, 176, RULE_atTimeZoneExpr);
10157 int _la;
10158 try {
10159 enterOuterAlt(_localctx, 1);
10160 {
10161 setState(1859);
10162 match(IDENTIFIER_);
10163 setState(1863);
10164 _errHandler.sync(this);
10165 _la = _input.LA(1);
10166 if (_la==WITH) {
10167 {
10168 setState(1860);
10169 match(WITH);
10170 setState(1861);
10171 match(TIME);
10172 setState(1862);
10173 match(ZONE);
10174 }
10175 }
10176
10177 setState(1865);
10178 match(STRING_);
10179 }
10180 }
10181 catch (RecognitionException re) {
10182 _localctx.exception = re;
10183 _errHandler.reportError(this, re);
10184 _errHandler.recover(this, re);
10185 }
10186 finally {
10187 exitRule();
10188 }
10189 return _localctx;
10190 }
10191
10192 public static class CastExprContext extends ParserRuleContext {
10193 public TerminalNode CAST() { return getToken(SQLServerStatementParser.CAST, 0); }
10194 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
10195 public TerminalNode LP_(int i) {
10196 return getToken(SQLServerStatementParser.LP_, i);
10197 }
10198 public ExprContext expr() {
10199 return getRuleContext(ExprContext.class,0);
10200 }
10201 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
10202 public DataTypeContext dataType() {
10203 return getRuleContext(DataTypeContext.class,0);
10204 }
10205 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
10206 public TerminalNode RP_(int i) {
10207 return getToken(SQLServerStatementParser.RP_, i);
10208 }
10209 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
10210 public CastExprContext(ParserRuleContext parent, int invokingState) {
10211 super(parent, invokingState);
10212 }
10213 @Override public int getRuleIndex() { return RULE_castExpr; }
10214 @Override
10215 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10216 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCastExpr(this);
10217 else return visitor.visitChildren(this);
10218 }
10219 }
10220
10221 public final CastExprContext castExpr() throws RecognitionException {
10222 CastExprContext _localctx = new CastExprContext(_ctx, getState());
10223 enterRule(_localctx, 178, RULE_castExpr);
10224 int _la;
10225 try {
10226 enterOuterAlt(_localctx, 1);
10227 {
10228 setState(1867);
10229 match(CAST);
10230 setState(1868);
10231 match(LP_);
10232 setState(1869);
10233 expr(0);
10234 setState(1870);
10235 match(AS);
10236 setState(1871);
10237 dataType();
10238 setState(1875);
10239 _errHandler.sync(this);
10240 _la = _input.LA(1);
10241 if (_la==LP_) {
10242 {
10243 setState(1872);
10244 match(LP_);
10245 setState(1873);
10246 match(NUMBER_);
10247 setState(1874);
10248 match(RP_);
10249 }
10250 }
10251
10252 setState(1877);
10253 match(RP_);
10254 }
10255 }
10256 catch (RecognitionException re) {
10257 _localctx.exception = re;
10258 _errHandler.reportError(this, re);
10259 _errHandler.recover(this, re);
10260 }
10261 finally {
10262 exitRule();
10263 }
10264 return _localctx;
10265 }
10266
10267 public static class ConvertExprContext extends ParserRuleContext {
10268 public TerminalNode CONVERT() { return getToken(SQLServerStatementParser.CONVERT, 0); }
10269 public DataTypeContext dataType() {
10270 return getRuleContext(DataTypeContext.class,0);
10271 }
10272 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
10273 public TerminalNode COMMA_(int i) {
10274 return getToken(SQLServerStatementParser.COMMA_, i);
10275 }
10276 public ExprContext expr() {
10277 return getRuleContext(ExprContext.class,0);
10278 }
10279 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
10280 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
10281 public TerminalNode NUMBER_(int i) {
10282 return getToken(SQLServerStatementParser.NUMBER_, i);
10283 }
10284 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
10285 public ConvertExprContext(ParserRuleContext parent, int invokingState) {
10286 super(parent, invokingState);
10287 }
10288 @Override public int getRuleIndex() { return RULE_convertExpr; }
10289 @Override
10290 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10291 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConvertExpr(this);
10292 else return visitor.visitChildren(this);
10293 }
10294 }
10295
10296 public final ConvertExprContext convertExpr() throws RecognitionException {
10297 ConvertExprContext _localctx = new ConvertExprContext(_ctx, getState());
10298 enterRule(_localctx, 180, RULE_convertExpr);
10299 int _la;
10300 try {
10301 enterOuterAlt(_localctx, 1);
10302 {
10303 setState(1879);
10304 match(CONVERT);
10305 {
10306 setState(1880);
10307 dataType();
10308 setState(1884);
10309 _errHandler.sync(this);
10310 _la = _input.LA(1);
10311 if (_la==LP_) {
10312 {
10313 setState(1881);
10314 match(LP_);
10315 setState(1882);
10316 match(NUMBER_);
10317 setState(1883);
10318 match(RP_);
10319 }
10320 }
10321
10322 setState(1886);
10323 match(COMMA_);
10324 setState(1887);
10325 expr(0);
10326 setState(1890);
10327 _errHandler.sync(this);
10328 switch ( getInterpreter().adaptivePredict(_input,109,_ctx) ) {
10329 case 1:
10330 {
10331 setState(1888);
10332 match(COMMA_);
10333 setState(1889);
10334 match(NUMBER_);
10335 }
10336 break;
10337 }
10338 }
10339 }
10340 }
10341 catch (RecognitionException re) {
10342 _localctx.exception = re;
10343 _errHandler.reportError(this, re);
10344 _errHandler.recover(this, re);
10345 }
10346 finally {
10347 exitRule();
10348 }
10349 return _localctx;
10350 }
10351
10352 public static class WindowFunctionContext extends ParserRuleContext {
10353 public Token funcName;
10354 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
10355 public ExprContext expr() {
10356 return getRuleContext(ExprContext.class,0);
10357 }
10358 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
10359 public OverClauseContext overClause() {
10360 return getRuleContext(OverClauseContext.class,0);
10361 }
10362 public TerminalNode FIRST_VALUE() { return getToken(SQLServerStatementParser.FIRST_VALUE, 0); }
10363 public TerminalNode LAST_VALUE() { return getToken(SQLServerStatementParser.LAST_VALUE, 0); }
10364 public NullTreatmentContext nullTreatment() {
10365 return getRuleContext(NullTreatmentContext.class,0);
10366 }
10367 public WindowFunctionContext(ParserRuleContext parent, int invokingState) {
10368 super(parent, invokingState);
10369 }
10370 @Override public int getRuleIndex() { return RULE_windowFunction; }
10371 @Override
10372 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10373 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFunction(this);
10374 else return visitor.visitChildren(this);
10375 }
10376 }
10377
10378 public final WindowFunctionContext windowFunction() throws RecognitionException {
10379 WindowFunctionContext _localctx = new WindowFunctionContext(_ctx, getState());
10380 enterRule(_localctx, 182, RULE_windowFunction);
10381 int _la;
10382 try {
10383 enterOuterAlt(_localctx, 1);
10384 {
10385 setState(1892);
10386 ((WindowFunctionContext)_localctx).funcName = _input.LT(1);
10387 _la = _input.LA(1);
10388 if ( !(_la==FIRST_VALUE || _la==LAST_VALUE) ) {
10389 ((WindowFunctionContext)_localctx).funcName = (Token)_errHandler.recoverInline(this);
10390 }
10391 else {
10392 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10393 _errHandler.reportMatch(this);
10394 consume();
10395 }
10396 setState(1893);
10397 match(LP_);
10398 setState(1894);
10399 expr(0);
10400 setState(1895);
10401 match(RP_);
10402 setState(1897);
10403 _errHandler.sync(this);
10404 _la = _input.LA(1);
10405 if (_la==RESPECT || _la==IGNORE) {
10406 {
10407 setState(1896);
10408 nullTreatment();
10409 }
10410 }
10411
10412 setState(1899);
10413 overClause();
10414 }
10415 }
10416 catch (RecognitionException re) {
10417 _localctx.exception = re;
10418 _errHandler.reportError(this, re);
10419 _errHandler.recover(this, re);
10420 }
10421 finally {
10422 exitRule();
10423 }
10424 return _localctx;
10425 }
10426
10427 public static class NullTreatmentContext extends ParserRuleContext {
10428 public TerminalNode NULLS() { return getToken(SQLServerStatementParser.NULLS, 0); }
10429 public TerminalNode RESPECT() { return getToken(SQLServerStatementParser.RESPECT, 0); }
10430 public TerminalNode IGNORE() { return getToken(SQLServerStatementParser.IGNORE, 0); }
10431 public NullTreatmentContext(ParserRuleContext parent, int invokingState) {
10432 super(parent, invokingState);
10433 }
10434 @Override public int getRuleIndex() { return RULE_nullTreatment; }
10435 @Override
10436 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10437 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNullTreatment(this);
10438 else return visitor.visitChildren(this);
10439 }
10440 }
10441
10442 public final NullTreatmentContext nullTreatment() throws RecognitionException {
10443 NullTreatmentContext _localctx = new NullTreatmentContext(_ctx, getState());
10444 enterRule(_localctx, 184, RULE_nullTreatment);
10445 int _la;
10446 try {
10447 enterOuterAlt(_localctx, 1);
10448 {
10449 setState(1901);
10450 _la = _input.LA(1);
10451 if ( !(_la==RESPECT || _la==IGNORE) ) {
10452 _errHandler.recoverInline(this);
10453 }
10454 else {
10455 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10456 _errHandler.reportMatch(this);
10457 consume();
10458 }
10459 setState(1902);
10460 match(NULLS);
10461 }
10462 }
10463 catch (RecognitionException re) {
10464 _localctx.exception = re;
10465 _errHandler.reportError(this, re);
10466 _errHandler.recover(this, re);
10467 }
10468 finally {
10469 exitRule();
10470 }
10471 return _localctx;
10472 }
10473
10474 public static class OverClauseContext extends ParserRuleContext {
10475 public TerminalNode OVER() { return getToken(SQLServerStatementParser.OVER, 0); }
10476 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
10477 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
10478 public PartitionByClauseContext partitionByClause() {
10479 return getRuleContext(PartitionByClauseContext.class,0);
10480 }
10481 public OrderByClauseContext orderByClause() {
10482 return getRuleContext(OrderByClauseContext.class,0);
10483 }
10484 public RowRangeClauseContext rowRangeClause() {
10485 return getRuleContext(RowRangeClauseContext.class,0);
10486 }
10487 public OverClauseContext(ParserRuleContext parent, int invokingState) {
10488 super(parent, invokingState);
10489 }
10490 @Override public int getRuleIndex() { return RULE_overClause; }
10491 @Override
10492 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10493 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOverClause(this);
10494 else return visitor.visitChildren(this);
10495 }
10496 }
10497
10498 public final OverClauseContext overClause() throws RecognitionException {
10499 OverClauseContext _localctx = new OverClauseContext(_ctx, getState());
10500 enterRule(_localctx, 186, RULE_overClause);
10501 int _la;
10502 try {
10503 enterOuterAlt(_localctx, 1);
10504 {
10505 setState(1904);
10506 match(OVER);
10507 setState(1905);
10508 match(LP_);
10509 setState(1907);
10510 _errHandler.sync(this);
10511 _la = _input.LA(1);
10512 if (_la==PARTITION) {
10513 {
10514 setState(1906);
10515 partitionByClause();
10516 }
10517 }
10518
10519 setState(1910);
10520 _errHandler.sync(this);
10521 _la = _input.LA(1);
10522 if (_la==ORDER) {
10523 {
10524 setState(1909);
10525 orderByClause();
10526 }
10527 }
10528
10529 setState(1913);
10530 _errHandler.sync(this);
10531 _la = _input.LA(1);
10532 if (_la==ROWS || _la==RANGE) {
10533 {
10534 setState(1912);
10535 rowRangeClause();
10536 }
10537 }
10538
10539 setState(1915);
10540 match(RP_);
10541 }
10542 }
10543 catch (RecognitionException re) {
10544 _localctx.exception = re;
10545 _errHandler.reportError(this, re);
10546 _errHandler.recover(this, re);
10547 }
10548 finally {
10549 exitRule();
10550 }
10551 return _localctx;
10552 }
10553
10554 public static class PartitionByClauseContext extends ParserRuleContext {
10555 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
10556 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
10557 public List<ExprContext> expr() {
10558 return getRuleContexts(ExprContext.class);
10559 }
10560 public ExprContext expr(int i) {
10561 return getRuleContext(ExprContext.class,i);
10562 }
10563 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
10564 public TerminalNode COMMA_(int i) {
10565 return getToken(SQLServerStatementParser.COMMA_, i);
10566 }
10567 public PartitionByClauseContext(ParserRuleContext parent, int invokingState) {
10568 super(parent, invokingState);
10569 }
10570 @Override public int getRuleIndex() { return RULE_partitionByClause; }
10571 @Override
10572 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10573 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionByClause(this);
10574 else return visitor.visitChildren(this);
10575 }
10576 }
10577
10578 public final PartitionByClauseContext partitionByClause() throws RecognitionException {
10579 PartitionByClauseContext _localctx = new PartitionByClauseContext(_ctx, getState());
10580 enterRule(_localctx, 188, RULE_partitionByClause);
10581 int _la;
10582 try {
10583 enterOuterAlt(_localctx, 1);
10584 {
10585 setState(1917);
10586 match(PARTITION);
10587 setState(1918);
10588 match(BY);
10589 setState(1919);
10590 expr(0);
10591 setState(1924);
10592 _errHandler.sync(this);
10593 _la = _input.LA(1);
10594 while (_la==COMMA_) {
10595 {
10596 {
10597 setState(1920);
10598 match(COMMA_);
10599 setState(1921);
10600 expr(0);
10601 }
10602 }
10603 setState(1926);
10604 _errHandler.sync(this);
10605 _la = _input.LA(1);
10606 }
10607 }
10608 }
10609 catch (RecognitionException re) {
10610 _localctx.exception = re;
10611 _errHandler.reportError(this, re);
10612 _errHandler.recover(this, re);
10613 }
10614 finally {
10615 exitRule();
10616 }
10617 return _localctx;
10618 }
10619
10620 public static class RowRangeClauseContext extends ParserRuleContext {
10621 public WindowFrameExtentContext windowFrameExtent() {
10622 return getRuleContext(WindowFrameExtentContext.class,0);
10623 }
10624 public TerminalNode ROWS() { return getToken(SQLServerStatementParser.ROWS, 0); }
10625 public TerminalNode RANGE() { return getToken(SQLServerStatementParser.RANGE, 0); }
10626 public RowRangeClauseContext(ParserRuleContext parent, int invokingState) {
10627 super(parent, invokingState);
10628 }
10629 @Override public int getRuleIndex() { return RULE_rowRangeClause; }
10630 @Override
10631 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10632 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRowRangeClause(this);
10633 else return visitor.visitChildren(this);
10634 }
10635 }
10636
10637 public final RowRangeClauseContext rowRangeClause() throws RecognitionException {
10638 RowRangeClauseContext _localctx = new RowRangeClauseContext(_ctx, getState());
10639 enterRule(_localctx, 190, RULE_rowRangeClause);
10640 int _la;
10641 try {
10642 enterOuterAlt(_localctx, 1);
10643 {
10644 setState(1927);
10645 _la = _input.LA(1);
10646 if ( !(_la==ROWS || _la==RANGE) ) {
10647 _errHandler.recoverInline(this);
10648 }
10649 else {
10650 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10651 _errHandler.reportMatch(this);
10652 consume();
10653 }
10654 setState(1928);
10655 windowFrameExtent();
10656 }
10657 }
10658 catch (RecognitionException re) {
10659 _localctx.exception = re;
10660 _errHandler.reportError(this, re);
10661 _errHandler.recover(this, re);
10662 }
10663 finally {
10664 exitRule();
10665 }
10666 return _localctx;
10667 }
10668
10669 public static class WindowFrameExtentContext extends ParserRuleContext {
10670 public WindowFramePrecedingContext windowFramePreceding() {
10671 return getRuleContext(WindowFramePrecedingContext.class,0);
10672 }
10673 public WindowFrameBetweenContext windowFrameBetween() {
10674 return getRuleContext(WindowFrameBetweenContext.class,0);
10675 }
10676 public WindowFrameExtentContext(ParserRuleContext parent, int invokingState) {
10677 super(parent, invokingState);
10678 }
10679 @Override public int getRuleIndex() { return RULE_windowFrameExtent; }
10680 @Override
10681 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10682 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameExtent(this);
10683 else return visitor.visitChildren(this);
10684 }
10685 }
10686
10687 public final WindowFrameExtentContext windowFrameExtent() throws RecognitionException {
10688 WindowFrameExtentContext _localctx = new WindowFrameExtentContext(_ctx, getState());
10689 enterRule(_localctx, 192, RULE_windowFrameExtent);
10690 try {
10691 setState(1932);
10692 _errHandler.sync(this);
10693 switch (_input.LA(1)) {
10694 case CURRENT:
10695 case UNBOUNDED:
10696 case NUMBER_:
10697 enterOuterAlt(_localctx, 1);
10698 {
10699 setState(1930);
10700 windowFramePreceding();
10701 }
10702 break;
10703 case BETWEEN:
10704 enterOuterAlt(_localctx, 2);
10705 {
10706 setState(1931);
10707 windowFrameBetween();
10708 }
10709 break;
10710 default:
10711 throw new NoViableAltException(this);
10712 }
10713 }
10714 catch (RecognitionException re) {
10715 _localctx.exception = re;
10716 _errHandler.reportError(this, re);
10717 _errHandler.recover(this, re);
10718 }
10719 finally {
10720 exitRule();
10721 }
10722 return _localctx;
10723 }
10724
10725 public static class WindowFrameBetweenContext extends ParserRuleContext {
10726 public TerminalNode BETWEEN() { return getToken(SQLServerStatementParser.BETWEEN, 0); }
10727 public List<WindowFrameBoundContext> windowFrameBound() {
10728 return getRuleContexts(WindowFrameBoundContext.class);
10729 }
10730 public WindowFrameBoundContext windowFrameBound(int i) {
10731 return getRuleContext(WindowFrameBoundContext.class,i);
10732 }
10733 public TerminalNode AND() { return getToken(SQLServerStatementParser.AND, 0); }
10734 public WindowFrameBetweenContext(ParserRuleContext parent, int invokingState) {
10735 super(parent, invokingState);
10736 }
10737 @Override public int getRuleIndex() { return RULE_windowFrameBetween; }
10738 @Override
10739 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10740 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameBetween(this);
10741 else return visitor.visitChildren(this);
10742 }
10743 }
10744
10745 public final WindowFrameBetweenContext windowFrameBetween() throws RecognitionException {
10746 WindowFrameBetweenContext _localctx = new WindowFrameBetweenContext(_ctx, getState());
10747 enterRule(_localctx, 194, RULE_windowFrameBetween);
10748 try {
10749 enterOuterAlt(_localctx, 1);
10750 {
10751 setState(1934);
10752 match(BETWEEN);
10753 setState(1935);
10754 windowFrameBound();
10755 setState(1936);
10756 match(AND);
10757 setState(1937);
10758 windowFrameBound();
10759 }
10760 }
10761 catch (RecognitionException re) {
10762 _localctx.exception = re;
10763 _errHandler.reportError(this, re);
10764 _errHandler.recover(this, re);
10765 }
10766 finally {
10767 exitRule();
10768 }
10769 return _localctx;
10770 }
10771
10772 public static class WindowFrameBoundContext extends ParserRuleContext {
10773 public WindowFramePrecedingContext windowFramePreceding() {
10774 return getRuleContext(WindowFramePrecedingContext.class,0);
10775 }
10776 public WindowFrameFollowingContext windowFrameFollowing() {
10777 return getRuleContext(WindowFrameFollowingContext.class,0);
10778 }
10779 public WindowFrameBoundContext(ParserRuleContext parent, int invokingState) {
10780 super(parent, invokingState);
10781 }
10782 @Override public int getRuleIndex() { return RULE_windowFrameBound; }
10783 @Override
10784 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10785 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameBound(this);
10786 else return visitor.visitChildren(this);
10787 }
10788 }
10789
10790 public final WindowFrameBoundContext windowFrameBound() throws RecognitionException {
10791 WindowFrameBoundContext _localctx = new WindowFrameBoundContext(_ctx, getState());
10792 enterRule(_localctx, 196, RULE_windowFrameBound);
10793 try {
10794 setState(1941);
10795 _errHandler.sync(this);
10796 switch ( getInterpreter().adaptivePredict(_input,116,_ctx) ) {
10797 case 1:
10798 enterOuterAlt(_localctx, 1);
10799 {
10800 setState(1939);
10801 windowFramePreceding();
10802 }
10803 break;
10804 case 2:
10805 enterOuterAlt(_localctx, 2);
10806 {
10807 setState(1940);
10808 windowFrameFollowing();
10809 }
10810 break;
10811 }
10812 }
10813 catch (RecognitionException re) {
10814 _localctx.exception = re;
10815 _errHandler.reportError(this, re);
10816 _errHandler.recover(this, re);
10817 }
10818 finally {
10819 exitRule();
10820 }
10821 return _localctx;
10822 }
10823
10824 public static class WindowFramePrecedingContext extends ParserRuleContext {
10825 public TerminalNode UNBOUNDED() { return getToken(SQLServerStatementParser.UNBOUNDED, 0); }
10826 public TerminalNode PRECEDING() { return getToken(SQLServerStatementParser.PRECEDING, 0); }
10827 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
10828 public TerminalNode CURRENT() { return getToken(SQLServerStatementParser.CURRENT, 0); }
10829 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
10830 public WindowFramePrecedingContext(ParserRuleContext parent, int invokingState) {
10831 super(parent, invokingState);
10832 }
10833 @Override public int getRuleIndex() { return RULE_windowFramePreceding; }
10834 @Override
10835 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10836 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFramePreceding(this);
10837 else return visitor.visitChildren(this);
10838 }
10839 }
10840
10841 public final WindowFramePrecedingContext windowFramePreceding() throws RecognitionException {
10842 WindowFramePrecedingContext _localctx = new WindowFramePrecedingContext(_ctx, getState());
10843 enterRule(_localctx, 198, RULE_windowFramePreceding);
10844 try {
10845 setState(1949);
10846 _errHandler.sync(this);
10847 switch (_input.LA(1)) {
10848 case UNBOUNDED:
10849 enterOuterAlt(_localctx, 1);
10850 {
10851 setState(1943);
10852 match(UNBOUNDED);
10853 setState(1944);
10854 match(PRECEDING);
10855 }
10856 break;
10857 case NUMBER_:
10858 enterOuterAlt(_localctx, 2);
10859 {
10860 setState(1945);
10861 match(NUMBER_);
10862 setState(1946);
10863 match(PRECEDING);
10864 }
10865 break;
10866 case CURRENT:
10867 enterOuterAlt(_localctx, 3);
10868 {
10869 setState(1947);
10870 match(CURRENT);
10871 setState(1948);
10872 match(ROW);
10873 }
10874 break;
10875 default:
10876 throw new NoViableAltException(this);
10877 }
10878 }
10879 catch (RecognitionException re) {
10880 _localctx.exception = re;
10881 _errHandler.reportError(this, re);
10882 _errHandler.recover(this, re);
10883 }
10884 finally {
10885 exitRule();
10886 }
10887 return _localctx;
10888 }
10889
10890 public static class WindowFrameFollowingContext extends ParserRuleContext {
10891 public TerminalNode UNBOUNDED() { return getToken(SQLServerStatementParser.UNBOUNDED, 0); }
10892 public TerminalNode FOLLOWING() { return getToken(SQLServerStatementParser.FOLLOWING, 0); }
10893 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
10894 public TerminalNode CURRENT() { return getToken(SQLServerStatementParser.CURRENT, 0); }
10895 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
10896 public WindowFrameFollowingContext(ParserRuleContext parent, int invokingState) {
10897 super(parent, invokingState);
10898 }
10899 @Override public int getRuleIndex() { return RULE_windowFrameFollowing; }
10900 @Override
10901 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10902 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameFollowing(this);
10903 else return visitor.visitChildren(this);
10904 }
10905 }
10906
10907 public final WindowFrameFollowingContext windowFrameFollowing() throws RecognitionException {
10908 WindowFrameFollowingContext _localctx = new WindowFrameFollowingContext(_ctx, getState());
10909 enterRule(_localctx, 200, RULE_windowFrameFollowing);
10910 try {
10911 setState(1957);
10912 _errHandler.sync(this);
10913 switch (_input.LA(1)) {
10914 case UNBOUNDED:
10915 enterOuterAlt(_localctx, 1);
10916 {
10917 setState(1951);
10918 match(UNBOUNDED);
10919 setState(1952);
10920 match(FOLLOWING);
10921 }
10922 break;
10923 case NUMBER_:
10924 enterOuterAlt(_localctx, 2);
10925 {
10926 setState(1953);
10927 match(NUMBER_);
10928 setState(1954);
10929 match(FOLLOWING);
10930 }
10931 break;
10932 case CURRENT:
10933 enterOuterAlt(_localctx, 3);
10934 {
10935 setState(1955);
10936 match(CURRENT);
10937 setState(1956);
10938 match(ROW);
10939 }
10940 break;
10941 default:
10942 throw new NoViableAltException(this);
10943 }
10944 }
10945 catch (RecognitionException re) {
10946 _localctx.exception = re;
10947 _errHandler.reportError(this, re);
10948 _errHandler.recover(this, re);
10949 }
10950 finally {
10951 exitRule();
10952 }
10953 return _localctx;
10954 }
10955
10956 public static class ColumnNameWithSortContext extends ParserRuleContext {
10957 public ColumnNameContext columnName() {
10958 return getRuleContext(ColumnNameContext.class,0);
10959 }
10960 public TerminalNode ASC() { return getToken(SQLServerStatementParser.ASC, 0); }
10961 public TerminalNode DESC() { return getToken(SQLServerStatementParser.DESC, 0); }
10962 public ColumnNameWithSortContext(ParserRuleContext parent, int invokingState) {
10963 super(parent, invokingState);
10964 }
10965 @Override public int getRuleIndex() { return RULE_columnNameWithSort; }
10966 @Override
10967 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10968 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnNameWithSort(this);
10969 else return visitor.visitChildren(this);
10970 }
10971 }
10972
10973 public final ColumnNameWithSortContext columnNameWithSort() throws RecognitionException {
10974 ColumnNameWithSortContext _localctx = new ColumnNameWithSortContext(_ctx, getState());
10975 enterRule(_localctx, 202, RULE_columnNameWithSort);
10976 int _la;
10977 try {
10978 enterOuterAlt(_localctx, 1);
10979 {
10980 setState(1959);
10981 columnName();
10982 setState(1961);
10983 _errHandler.sync(this);
10984 _la = _input.LA(1);
10985 if (_la==ASC || _la==DESC) {
10986 {
10987 setState(1960);
10988 _la = _input.LA(1);
10989 if ( !(_la==ASC || _la==DESC) ) {
10990 _errHandler.recoverInline(this);
10991 }
10992 else {
10993 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10994 _errHandler.reportMatch(this);
10995 consume();
10996 }
10997 }
10998 }
10999
11000 }
11001 }
11002 catch (RecognitionException re) {
11003 _localctx.exception = re;
11004 _errHandler.reportError(this, re);
11005 _errHandler.recover(this, re);
11006 }
11007 finally {
11008 exitRule();
11009 }
11010 return _localctx;
11011 }
11012
11013 public static class IndexOptionContext extends ParserRuleContext {
11014 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
11015 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
11016 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
11017 public EqOnOffOptionContext eqOnOffOption() {
11018 return getRuleContext(EqOnOffOptionContext.class,0);
11019 }
11020 public EqTimeContext eqTime() {
11021 return getRuleContext(EqTimeContext.class,0);
11022 }
11023 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
11024 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
11025 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
11026 public CompressionOptionContext compressionOption() {
11027 return getRuleContext(CompressionOptionContext.class,0);
11028 }
11029 public OnPartitionClauseContext onPartitionClause() {
11030 return getRuleContext(OnPartitionClauseContext.class,0);
11031 }
11032 public IndexOptionContext(ParserRuleContext parent, int invokingState) {
11033 super(parent, invokingState);
11034 }
11035 @Override public int getRuleIndex() { return RULE_indexOption; }
11036 @Override
11037 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11038 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexOption(this);
11039 else return visitor.visitChildren(this);
11040 }
11041 }
11042
11043 public final IndexOptionContext indexOption() throws RecognitionException {
11044 IndexOptionContext _localctx = new IndexOptionContext(_ctx, getState());
11045 enterRule(_localctx, 204, RULE_indexOption);
11046 int _la;
11047 try {
11048 setState(1976);
11049 _errHandler.sync(this);
11050 switch ( getInterpreter().adaptivePredict(_input,121,_ctx) ) {
11051 case 1:
11052 enterOuterAlt(_localctx, 1);
11053 {
11054 setState(1963);
11055 match(FILLFACTOR);
11056 setState(1964);
11057 match(EQ_);
11058 setState(1965);
11059 match(NUMBER_);
11060 }
11061 break;
11062 case 2:
11063 enterOuterAlt(_localctx, 2);
11064 {
11065 setState(1966);
11066 eqOnOffOption();
11067 }
11068 break;
11069 case 3:
11070 enterOuterAlt(_localctx, 3);
11071 {
11072 setState(1967);
11073 _la = _input.LA(1);
11074 if ( !(_la==COMPRESSION_DELAY || _la==MAX_DURATION) ) {
11075 _errHandler.recoverInline(this);
11076 }
11077 else {
11078 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11079 _errHandler.reportMatch(this);
11080 consume();
11081 }
11082 setState(1968);
11083 eqTime();
11084 }
11085 break;
11086 case 4:
11087 enterOuterAlt(_localctx, 4);
11088 {
11089 setState(1969);
11090 match(MAXDOP);
11091 setState(1970);
11092 match(EQ_);
11093 setState(1971);
11094 match(NUMBER_);
11095 }
11096 break;
11097 case 5:
11098 enterOuterAlt(_localctx, 5);
11099 {
11100 setState(1972);
11101 compressionOption();
11102 setState(1974);
11103 _errHandler.sync(this);
11104 _la = _input.LA(1);
11105 if (_la==ON) {
11106 {
11107 setState(1973);
11108 onPartitionClause();
11109 }
11110 }
11111
11112 }
11113 break;
11114 }
11115 }
11116 catch (RecognitionException re) {
11117 _localctx.exception = re;
11118 _errHandler.reportError(this, re);
11119 _errHandler.recover(this, re);
11120 }
11121 finally {
11122 exitRule();
11123 }
11124 return _localctx;
11125 }
11126
11127 public static class CompressionOptionContext extends ParserRuleContext {
11128 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
11129 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
11130 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
11131 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
11132 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
11133 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
11134 public TerminalNode COLUMNSTORE_ARCHIVE() { return getToken(SQLServerStatementParser.COLUMNSTORE_ARCHIVE, 0); }
11135 public CompressionOptionContext(ParserRuleContext parent, int invokingState) {
11136 super(parent, invokingState);
11137 }
11138 @Override public int getRuleIndex() { return RULE_compressionOption; }
11139 @Override
11140 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11141 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCompressionOption(this);
11142 else return visitor.visitChildren(this);
11143 }
11144 }
11145
11146 public final CompressionOptionContext compressionOption() throws RecognitionException {
11147 CompressionOptionContext _localctx = new CompressionOptionContext(_ctx, getState());
11148 enterRule(_localctx, 206, RULE_compressionOption);
11149 int _la;
11150 try {
11151 enterOuterAlt(_localctx, 1);
11152 {
11153 setState(1978);
11154 match(DATA_COMPRESSION);
11155 setState(1979);
11156 match(EQ_);
11157 setState(1980);
11158 _la = _input.LA(1);
11159 if ( !(((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (ROW - 248)) | (1L << (COLUMNSTORE - 248)) | (1L << (NONE - 248)) | (1L << (PAGE - 248)))) != 0) || _la==COLUMNSTORE_ARCHIVE) ) {
11160 _errHandler.recoverInline(this);
11161 }
11162 else {
11163 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11164 _errHandler.reportMatch(this);
11165 consume();
11166 }
11167 }
11168 }
11169 catch (RecognitionException re) {
11170 _localctx.exception = re;
11171 _errHandler.reportError(this, re);
11172 _errHandler.recover(this, re);
11173 }
11174 finally {
11175 exitRule();
11176 }
11177 return _localctx;
11178 }
11179
11180 public static class EqTimeContext extends ParserRuleContext {
11181 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
11182 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
11183 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
11184 public EqTimeContext(ParserRuleContext parent, int invokingState) {
11185 super(parent, invokingState);
11186 }
11187 @Override public int getRuleIndex() { return RULE_eqTime; }
11188 @Override
11189 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11190 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqTime(this);
11191 else return visitor.visitChildren(this);
11192 }
11193 }
11194
11195 public final EqTimeContext eqTime() throws RecognitionException {
11196 EqTimeContext _localctx = new EqTimeContext(_ctx, getState());
11197 enterRule(_localctx, 208, RULE_eqTime);
11198 int _la;
11199 try {
11200 enterOuterAlt(_localctx, 1);
11201 {
11202 setState(1982);
11203 match(EQ_);
11204 setState(1983);
11205 match(NUMBER_);
11206 setState(1985);
11207 _errHandler.sync(this);
11208 _la = _input.LA(1);
11209 if (_la==MINUTES) {
11210 {
11211 setState(1984);
11212 match(MINUTES);
11213 }
11214 }
11215
11216 }
11217 }
11218 catch (RecognitionException re) {
11219 _localctx.exception = re;
11220 _errHandler.reportError(this, re);
11221 _errHandler.recover(this, re);
11222 }
11223 finally {
11224 exitRule();
11225 }
11226 return _localctx;
11227 }
11228
11229 public static class EqOnOffOptionContext extends ParserRuleContext {
11230 public EqKeyContext eqKey() {
11231 return getRuleContext(EqKeyContext.class,0);
11232 }
11233 public EqOnOffContext eqOnOff() {
11234 return getRuleContext(EqOnOffContext.class,0);
11235 }
11236 public EqOnOffOptionContext(ParserRuleContext parent, int invokingState) {
11237 super(parent, invokingState);
11238 }
11239 @Override public int getRuleIndex() { return RULE_eqOnOffOption; }
11240 @Override
11241 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11242 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqOnOffOption(this);
11243 else return visitor.visitChildren(this);
11244 }
11245 }
11246
11247 public final EqOnOffOptionContext eqOnOffOption() throws RecognitionException {
11248 EqOnOffOptionContext _localctx = new EqOnOffOptionContext(_ctx, getState());
11249 enterRule(_localctx, 210, RULE_eqOnOffOption);
11250 try {
11251 enterOuterAlt(_localctx, 1);
11252 {
11253 setState(1987);
11254 eqKey();
11255 setState(1988);
11256 eqOnOff();
11257 }
11258 }
11259 catch (RecognitionException re) {
11260 _localctx.exception = re;
11261 _errHandler.reportError(this, re);
11262 _errHandler.recover(this, re);
11263 }
11264 finally {
11265 exitRule();
11266 }
11267 return _localctx;
11268 }
11269
11270 public static class EqKeyContext extends ParserRuleContext {
11271 public TerminalNode PAD_INDEX() { return getToken(SQLServerStatementParser.PAD_INDEX, 0); }
11272 public TerminalNode SORT_IN_TEMPDB() { return getToken(SQLServerStatementParser.SORT_IN_TEMPDB, 0); }
11273 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
11274 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
11275 public TerminalNode STATISTICS_INCREMENTAL() { return getToken(SQLServerStatementParser.STATISTICS_INCREMENTAL, 0); }
11276 public TerminalNode DROP_EXISTING() { return getToken(SQLServerStatementParser.DROP_EXISTING, 0); }
11277 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
11278 public TerminalNode RESUMABLE() { return getToken(SQLServerStatementParser.RESUMABLE, 0); }
11279 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
11280 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
11281 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
11282 public TerminalNode OPTIMIZE_FOR_SEQUENTIAL_KEY() { return getToken(SQLServerStatementParser.OPTIMIZE_FOR_SEQUENTIAL_KEY, 0); }
11283 public EqKeyContext(ParserRuleContext parent, int invokingState) {
11284 super(parent, invokingState);
11285 }
11286 @Override public int getRuleIndex() { return RULE_eqKey; }
11287 @Override
11288 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11289 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqKey(this);
11290 else return visitor.visitChildren(this);
11291 }
11292 }
11293
11294 public final EqKeyContext eqKey() throws RecognitionException {
11295 EqKeyContext _localctx = new EqKeyContext(_ctx, getState());
11296 enterRule(_localctx, 212, RULE_eqKey);
11297 int _la;
11298 try {
11299 enterOuterAlt(_localctx, 1);
11300 {
11301 setState(1990);
11302 _la = _input.LA(1);
11303 if ( !(_la==ONLINE || _la==RESUMABLE || ((((_la - 405)) & ~0x3f) == 0 && ((1L << (_la - 405)) & ((1L << (ALLOW_PAGE_LOCKS - 405)) | (1L << (ALLOW_ROW_LOCKS - 405)) | (1L << (COMPRESSION_DELAY - 405)) | (1L << (STATISTICS_INCREMENTAL - 405)) | (1L << (STATISTICS_NORECOMPUTE - 405)) | (1L << (SORT_IN_TEMPDB - 405)) | (1L << (IGNORE_DUP_KEY - 405)) | (1L << (PAD_INDEX - 405)) | (1L << (DROP_EXISTING - 405)))) != 0) || _la==OPTIMIZE_FOR_SEQUENTIAL_KEY) ) {
11304 _errHandler.recoverInline(this);
11305 }
11306 else {
11307 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11308 _errHandler.reportMatch(this);
11309 consume();
11310 }
11311 }
11312 }
11313 catch (RecognitionException re) {
11314 _localctx.exception = re;
11315 _errHandler.reportError(this, re);
11316 _errHandler.recover(this, re);
11317 }
11318 finally {
11319 exitRule();
11320 }
11321 return _localctx;
11322 }
11323
11324 public static class EqOnOffContext extends ParserRuleContext {
11325 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
11326 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
11327 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
11328 public EqOnOffContext(ParserRuleContext parent, int invokingState) {
11329 super(parent, invokingState);
11330 }
11331 @Override public int getRuleIndex() { return RULE_eqOnOff; }
11332 @Override
11333 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11334 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqOnOff(this);
11335 else return visitor.visitChildren(this);
11336 }
11337 }
11338
11339 public final EqOnOffContext eqOnOff() throws RecognitionException {
11340 EqOnOffContext _localctx = new EqOnOffContext(_ctx, getState());
11341 enterRule(_localctx, 214, RULE_eqOnOff);
11342 int _la;
11343 try {
11344 enterOuterAlt(_localctx, 1);
11345 {
11346 setState(1992);
11347 match(EQ_);
11348 setState(1993);
11349 _la = _input.LA(1);
11350 if ( !(_la==ON || _la==OFF) ) {
11351 _errHandler.recoverInline(this);
11352 }
11353 else {
11354 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11355 _errHandler.reportMatch(this);
11356 consume();
11357 }
11358 }
11359 }
11360 catch (RecognitionException re) {
11361 _localctx.exception = re;
11362 _errHandler.reportError(this, re);
11363 _errHandler.recover(this, re);
11364 }
11365 finally {
11366 exitRule();
11367 }
11368 return _localctx;
11369 }
11370
11371 public static class OnPartitionClauseContext extends ParserRuleContext {
11372 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
11373 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
11374 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
11375 public PartitionExpressionsContext partitionExpressions() {
11376 return getRuleContext(PartitionExpressionsContext.class,0);
11377 }
11378 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
11379 public OnPartitionClauseContext(ParserRuleContext parent, int invokingState) {
11380 super(parent, invokingState);
11381 }
11382 @Override public int getRuleIndex() { return RULE_onPartitionClause; }
11383 @Override
11384 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11385 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnPartitionClause(this);
11386 else return visitor.visitChildren(this);
11387 }
11388 }
11389
11390 public final OnPartitionClauseContext onPartitionClause() throws RecognitionException {
11391 OnPartitionClauseContext _localctx = new OnPartitionClauseContext(_ctx, getState());
11392 enterRule(_localctx, 216, RULE_onPartitionClause);
11393 try {
11394 enterOuterAlt(_localctx, 1);
11395 {
11396 setState(1995);
11397 match(ON);
11398 setState(1996);
11399 match(PARTITIONS);
11400 setState(1997);
11401 match(LP_);
11402 setState(1998);
11403 partitionExpressions();
11404 setState(1999);
11405 match(RP_);
11406 }
11407 }
11408 catch (RecognitionException re) {
11409 _localctx.exception = re;
11410 _errHandler.reportError(this, re);
11411 _errHandler.recover(this, re);
11412 }
11413 finally {
11414 exitRule();
11415 }
11416 return _localctx;
11417 }
11418
11419 public static class PartitionExpressionsContext extends ParserRuleContext {
11420 public List<PartitionExpressionContext> partitionExpression() {
11421 return getRuleContexts(PartitionExpressionContext.class);
11422 }
11423 public PartitionExpressionContext partitionExpression(int i) {
11424 return getRuleContext(PartitionExpressionContext.class,i);
11425 }
11426 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
11427 public TerminalNode COMMA_(int i) {
11428 return getToken(SQLServerStatementParser.COMMA_, i);
11429 }
11430 public PartitionExpressionsContext(ParserRuleContext parent, int invokingState) {
11431 super(parent, invokingState);
11432 }
11433 @Override public int getRuleIndex() { return RULE_partitionExpressions; }
11434 @Override
11435 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11436 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionExpressions(this);
11437 else return visitor.visitChildren(this);
11438 }
11439 }
11440
11441 public final PartitionExpressionsContext partitionExpressions() throws RecognitionException {
11442 PartitionExpressionsContext _localctx = new PartitionExpressionsContext(_ctx, getState());
11443 enterRule(_localctx, 218, RULE_partitionExpressions);
11444 int _la;
11445 try {
11446 enterOuterAlt(_localctx, 1);
11447 {
11448 setState(2001);
11449 partitionExpression();
11450 setState(2006);
11451 _errHandler.sync(this);
11452 _la = _input.LA(1);
11453 while (_la==COMMA_) {
11454 {
11455 {
11456 setState(2002);
11457 match(COMMA_);
11458 setState(2003);
11459 partitionExpression();
11460 }
11461 }
11462 setState(2008);
11463 _errHandler.sync(this);
11464 _la = _input.LA(1);
11465 }
11466 }
11467 }
11468 catch (RecognitionException re) {
11469 _localctx.exception = re;
11470 _errHandler.reportError(this, re);
11471 _errHandler.recover(this, re);
11472 }
11473 finally {
11474 exitRule();
11475 }
11476 return _localctx;
11477 }
11478
11479 public static class PartitionExpressionContext extends ParserRuleContext {
11480 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
11481 public NumberRangeContext numberRange() {
11482 return getRuleContext(NumberRangeContext.class,0);
11483 }
11484 public PartitionExpressionContext(ParserRuleContext parent, int invokingState) {
11485 super(parent, invokingState);
11486 }
11487 @Override public int getRuleIndex() { return RULE_partitionExpression; }
11488 @Override
11489 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11490 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionExpression(this);
11491 else return visitor.visitChildren(this);
11492 }
11493 }
11494
11495 public final PartitionExpressionContext partitionExpression() throws RecognitionException {
11496 PartitionExpressionContext _localctx = new PartitionExpressionContext(_ctx, getState());
11497 enterRule(_localctx, 220, RULE_partitionExpression);
11498 try {
11499 setState(2011);
11500 _errHandler.sync(this);
11501 switch ( getInterpreter().adaptivePredict(_input,124,_ctx) ) {
11502 case 1:
11503 enterOuterAlt(_localctx, 1);
11504 {
11505 setState(2009);
11506 match(NUMBER_);
11507 }
11508 break;
11509 case 2:
11510 enterOuterAlt(_localctx, 2);
11511 {
11512 setState(2010);
11513 numberRange();
11514 }
11515 break;
11516 }
11517 }
11518 catch (RecognitionException re) {
11519 _localctx.exception = re;
11520 _errHandler.reportError(this, re);
11521 _errHandler.recover(this, re);
11522 }
11523 finally {
11524 exitRule();
11525 }
11526 return _localctx;
11527 }
11528
11529 public static class NumberRangeContext extends ParserRuleContext {
11530 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
11531 public TerminalNode NUMBER_(int i) {
11532 return getToken(SQLServerStatementParser.NUMBER_, i);
11533 }
11534 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
11535 public NumberRangeContext(ParserRuleContext parent, int invokingState) {
11536 super(parent, invokingState);
11537 }
11538 @Override public int getRuleIndex() { return RULE_numberRange; }
11539 @Override
11540 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11541 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNumberRange(this);
11542 else return visitor.visitChildren(this);
11543 }
11544 }
11545
11546 public final NumberRangeContext numberRange() throws RecognitionException {
11547 NumberRangeContext _localctx = new NumberRangeContext(_ctx, getState());
11548 enterRule(_localctx, 222, RULE_numberRange);
11549 try {
11550 enterOuterAlt(_localctx, 1);
11551 {
11552 setState(2013);
11553 match(NUMBER_);
11554 setState(2014);
11555 match(TO);
11556 setState(2015);
11557 match(NUMBER_);
11558 }
11559 }
11560 catch (RecognitionException re) {
11561 _localctx.exception = re;
11562 _errHandler.reportError(this, re);
11563 _errHandler.recover(this, re);
11564 }
11565 finally {
11566 exitRule();
11567 }
11568 return _localctx;
11569 }
11570
11571 public static class LowPriorityLockWaitContext extends ParserRuleContext {
11572 public TerminalNode WAIT_AT_LOW_PRIORITY() { return getToken(SQLServerStatementParser.WAIT_AT_LOW_PRIORITY, 0); }
11573 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
11574 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
11575 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
11576 public TerminalNode EQ_(int i) {
11577 return getToken(SQLServerStatementParser.EQ_, i);
11578 }
11579 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
11580 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
11581 public TerminalNode ABORT_AFTER_WAIT() { return getToken(SQLServerStatementParser.ABORT_AFTER_WAIT, 0); }
11582 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
11583 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
11584 public TerminalNode SELF() { return getToken(SQLServerStatementParser.SELF, 0); }
11585 public TerminalNode BLOCKERS() { return getToken(SQLServerStatementParser.BLOCKERS, 0); }
11586 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
11587 public LowPriorityLockWaitContext(ParserRuleContext parent, int invokingState) {
11588 super(parent, invokingState);
11589 }
11590 @Override public int getRuleIndex() { return RULE_lowPriorityLockWait; }
11591 @Override
11592 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11593 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitLowPriorityLockWait(this);
11594 else return visitor.visitChildren(this);
11595 }
11596 }
11597
11598 public final LowPriorityLockWaitContext lowPriorityLockWait() throws RecognitionException {
11599 LowPriorityLockWaitContext _localctx = new LowPriorityLockWaitContext(_ctx, getState());
11600 enterRule(_localctx, 224, RULE_lowPriorityLockWait);
11601 int _la;
11602 try {
11603 enterOuterAlt(_localctx, 1);
11604 {
11605 setState(2017);
11606 match(WAIT_AT_LOW_PRIORITY);
11607 setState(2018);
11608 match(LP_);
11609 setState(2019);
11610 match(MAX_DURATION);
11611 setState(2020);
11612 match(EQ_);
11613 setState(2021);
11614 match(NUMBER_);
11615 setState(2023);
11616 _errHandler.sync(this);
11617 _la = _input.LA(1);
11618 if (_la==MINUTES) {
11619 {
11620 setState(2022);
11621 match(MINUTES);
11622 }
11623 }
11624
11625 setState(2025);
11626 match(COMMA_);
11627 setState(2026);
11628 match(ABORT_AFTER_WAIT);
11629 setState(2027);
11630 match(EQ_);
11631 setState(2028);
11632 _la = _input.LA(1);
11633 if ( !(((((_la - 267)) & ~0x3f) == 0 && ((1L << (_la - 267)) & ((1L << (BLOCKERS - 267)) | (1L << (NONE - 267)) | (1L << (SELF - 267)))) != 0)) ) {
11634 _errHandler.recoverInline(this);
11635 }
11636 else {
11637 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11638 _errHandler.reportMatch(this);
11639 consume();
11640 }
11641 setState(2029);
11642 match(RP_);
11643 }
11644 }
11645 catch (RecognitionException re) {
11646 _localctx.exception = re;
11647 _errHandler.reportError(this, re);
11648 _errHandler.recover(this, re);
11649 }
11650 finally {
11651 exitRule();
11652 }
11653 return _localctx;
11654 }
11655
11656 public static class OnLowPriorLockWaitContext extends ParserRuleContext {
11657 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
11658 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
11659 public LowPriorityLockWaitContext lowPriorityLockWait() {
11660 return getRuleContext(LowPriorityLockWaitContext.class,0);
11661 }
11662 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
11663 public OnLowPriorLockWaitContext(ParserRuleContext parent, int invokingState) {
11664 super(parent, invokingState);
11665 }
11666 @Override public int getRuleIndex() { return RULE_onLowPriorLockWait; }
11667 @Override
11668 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11669 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnLowPriorLockWait(this);
11670 else return visitor.visitChildren(this);
11671 }
11672 }
11673
11674 public final OnLowPriorLockWaitContext onLowPriorLockWait() throws RecognitionException {
11675 OnLowPriorLockWaitContext _localctx = new OnLowPriorLockWaitContext(_ctx, getState());
11676 enterRule(_localctx, 226, RULE_onLowPriorLockWait);
11677 int _la;
11678 try {
11679 enterOuterAlt(_localctx, 1);
11680 {
11681 setState(2031);
11682 match(ON);
11683 setState(2036);
11684 _errHandler.sync(this);
11685 _la = _input.LA(1);
11686 if (_la==LP_) {
11687 {
11688 setState(2032);
11689 match(LP_);
11690 setState(2033);
11691 lowPriorityLockWait();
11692 setState(2034);
11693 match(RP_);
11694 }
11695 }
11696
11697 }
11698 }
11699 catch (RecognitionException re) {
11700 _localctx.exception = re;
11701 _errHandler.reportError(this, re);
11702 _errHandler.recover(this, re);
11703 }
11704 finally {
11705 exitRule();
11706 }
11707 return _localctx;
11708 }
11709
11710 public static class IgnoredIdentifierContext extends ParserRuleContext {
11711 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
11712 public IgnoredIdentifierContext(ParserRuleContext parent, int invokingState) {
11713 super(parent, invokingState);
11714 }
11715 @Override public int getRuleIndex() { return RULE_ignoredIdentifier; }
11716 @Override
11717 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11718 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIgnoredIdentifier(this);
11719 else return visitor.visitChildren(this);
11720 }
11721 }
11722
11723 public final IgnoredIdentifierContext ignoredIdentifier() throws RecognitionException {
11724 IgnoredIdentifierContext _localctx = new IgnoredIdentifierContext(_ctx, getState());
11725 enterRule(_localctx, 228, RULE_ignoredIdentifier);
11726 try {
11727 enterOuterAlt(_localctx, 1);
11728 {
11729 setState(2038);
11730 match(IDENTIFIER_);
11731 }
11732 }
11733 catch (RecognitionException re) {
11734 _localctx.exception = re;
11735 _errHandler.reportError(this, re);
11736 _errHandler.recover(this, re);
11737 }
11738 finally {
11739 exitRule();
11740 }
11741 return _localctx;
11742 }
11743
11744 public static class IgnoredIdentifiersContext extends ParserRuleContext {
11745 public List<IgnoredIdentifierContext> ignoredIdentifier() {
11746 return getRuleContexts(IgnoredIdentifierContext.class);
11747 }
11748 public IgnoredIdentifierContext ignoredIdentifier(int i) {
11749 return getRuleContext(IgnoredIdentifierContext.class,i);
11750 }
11751 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
11752 public TerminalNode COMMA_(int i) {
11753 return getToken(SQLServerStatementParser.COMMA_, i);
11754 }
11755 public IgnoredIdentifiersContext(ParserRuleContext parent, int invokingState) {
11756 super(parent, invokingState);
11757 }
11758 @Override public int getRuleIndex() { return RULE_ignoredIdentifiers; }
11759 @Override
11760 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11761 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIgnoredIdentifiers(this);
11762 else return visitor.visitChildren(this);
11763 }
11764 }
11765
11766 public final IgnoredIdentifiersContext ignoredIdentifiers() throws RecognitionException {
11767 IgnoredIdentifiersContext _localctx = new IgnoredIdentifiersContext(_ctx, getState());
11768 enterRule(_localctx, 230, RULE_ignoredIdentifiers);
11769 try {
11770 int _alt;
11771 enterOuterAlt(_localctx, 1);
11772 {
11773 setState(2040);
11774 ignoredIdentifier();
11775 setState(2045);
11776 _errHandler.sync(this);
11777 _alt = getInterpreter().adaptivePredict(_input,127,_ctx);
11778 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
11779 if ( _alt==1 ) {
11780 {
11781 {
11782 setState(2041);
11783 match(COMMA_);
11784 setState(2042);
11785 ignoredIdentifier();
11786 }
11787 }
11788 }
11789 setState(2047);
11790 _errHandler.sync(this);
11791 _alt = getInterpreter().adaptivePredict(_input,127,_ctx);
11792 }
11793 }
11794 }
11795 catch (RecognitionException re) {
11796 _localctx.exception = re;
11797 _errHandler.reportError(this, re);
11798 _errHandler.recover(this, re);
11799 }
11800 finally {
11801 exitRule();
11802 }
11803 return _localctx;
11804 }
11805
11806 public static class MatchNoneContext extends ParserRuleContext {
11807 public MatchNoneContext(ParserRuleContext parent, int invokingState) {
11808 super(parent, invokingState);
11809 }
11810 @Override public int getRuleIndex() { return RULE_matchNone; }
11811 @Override
11812 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11813 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMatchNone(this);
11814 else return visitor.visitChildren(this);
11815 }
11816 }
11817
11818 public final MatchNoneContext matchNone() throws RecognitionException {
11819 MatchNoneContext _localctx = new MatchNoneContext(_ctx, getState());
11820 enterRule(_localctx, 232, RULE_matchNone);
11821 try {
11822 enterOuterAlt(_localctx, 1);
11823 {
11824 setState(2048);
11825 match(T__0);
11826 }
11827 }
11828 catch (RecognitionException re) {
11829 _localctx.exception = re;
11830 _errHandler.reportError(this, re);
11831 _errHandler.recover(this, re);
11832 }
11833 finally {
11834 exitRule();
11835 }
11836 return _localctx;
11837 }
11838
11839 public static class VariableNameContext extends ParserRuleContext {
11840 public IdentifierContext identifier() {
11841 return getRuleContext(IdentifierContext.class,0);
11842 }
11843 public VariableNameContext(ParserRuleContext parent, int invokingState) {
11844 super(parent, invokingState);
11845 }
11846 @Override public int getRuleIndex() { return RULE_variableName; }
11847 @Override
11848 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11849 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableName(this);
11850 else return visitor.visitChildren(this);
11851 }
11852 }
11853
11854 public final VariableNameContext variableName() throws RecognitionException {
11855 VariableNameContext _localctx = new VariableNameContext(_ctx, getState());
11856 enterRule(_localctx, 234, RULE_variableName);
11857 try {
11858 enterOuterAlt(_localctx, 1);
11859 {
11860 setState(2050);
11861 identifier();
11862 }
11863 }
11864 catch (RecognitionException re) {
11865 _localctx.exception = re;
11866 _errHandler.reportError(this, re);
11867 _errHandler.recover(this, re);
11868 }
11869 finally {
11870 exitRule();
11871 }
11872 return _localctx;
11873 }
11874
11875 public static class ExecuteAsClauseContext extends ParserRuleContext {
11876 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
11877 public TerminalNode EXEC() { return getToken(SQLServerStatementParser.EXEC, 0); }
11878 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
11879 public TerminalNode CALLER() { return getToken(SQLServerStatementParser.CALLER, 0); }
11880 public TerminalNode SELF() { return getToken(SQLServerStatementParser.SELF, 0); }
11881 public TerminalNode OWNER() { return getToken(SQLServerStatementParser.OWNER, 0); }
11882 public StringLiteralsContext stringLiterals() {
11883 return getRuleContext(StringLiteralsContext.class,0);
11884 }
11885 public ExecuteAsClauseContext(ParserRuleContext parent, int invokingState) {
11886 super(parent, invokingState);
11887 }
11888 @Override public int getRuleIndex() { return RULE_executeAsClause; }
11889 @Override
11890 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11891 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExecuteAsClause(this);
11892 else return visitor.visitChildren(this);
11893 }
11894 }
11895
11896 public final ExecuteAsClauseContext executeAsClause() throws RecognitionException {
11897 ExecuteAsClauseContext _localctx = new ExecuteAsClauseContext(_ctx, getState());
11898 enterRule(_localctx, 236, RULE_executeAsClause);
11899 int _la;
11900 try {
11901 enterOuterAlt(_localctx, 1);
11902 {
11903 setState(2052);
11904 _la = _input.LA(1);
11905 if ( !(_la==EXECUTE || _la==EXEC) ) {
11906 _errHandler.recoverInline(this);
11907 }
11908 else {
11909 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11910 _errHandler.reportMatch(this);
11911 consume();
11912 }
11913 setState(2053);
11914 match(AS);
11915 setState(2058);
11916 _errHandler.sync(this);
11917 switch (_input.LA(1)) {
11918 case CALLER:
11919 {
11920 setState(2054);
11921 match(CALLER);
11922 }
11923 break;
11924 case SELF:
11925 {
11926 setState(2055);
11927 match(SELF);
11928 }
11929 break;
11930 case OWNER:
11931 {
11932 setState(2056);
11933 match(OWNER);
11934 }
11935 break;
11936 case STRING_:
11937 case NCHAR_TEXT:
11938 {
11939 setState(2057);
11940 stringLiterals();
11941 }
11942 break;
11943 default:
11944 throw new NoViableAltException(this);
11945 }
11946 }
11947 }
11948 catch (RecognitionException re) {
11949 _localctx.exception = re;
11950 _errHandler.reportError(this, re);
11951 _errHandler.recover(this, re);
11952 }
11953 finally {
11954 exitRule();
11955 }
11956 return _localctx;
11957 }
11958
11959 public static class TransactionNameContext extends ParserRuleContext {
11960 public IdentifierContext identifier() {
11961 return getRuleContext(IdentifierContext.class,0);
11962 }
11963 public TransactionNameContext(ParserRuleContext parent, int invokingState) {
11964 super(parent, invokingState);
11965 }
11966 @Override public int getRuleIndex() { return RULE_transactionName; }
11967 @Override
11968 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11969 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTransactionName(this);
11970 else return visitor.visitChildren(this);
11971 }
11972 }
11973
11974 public final TransactionNameContext transactionName() throws RecognitionException {
11975 TransactionNameContext _localctx = new TransactionNameContext(_ctx, getState());
11976 enterRule(_localctx, 238, RULE_transactionName);
11977 try {
11978 enterOuterAlt(_localctx, 1);
11979 {
11980 setState(2060);
11981 identifier();
11982 }
11983 }
11984 catch (RecognitionException re) {
11985 _localctx.exception = re;
11986 _errHandler.reportError(this, re);
11987 _errHandler.recover(this, re);
11988 }
11989 finally {
11990 exitRule();
11991 }
11992 return _localctx;
11993 }
11994
11995 public static class TransactionVariableNameContext extends ParserRuleContext {
11996 public VariableNameContext variableName() {
11997 return getRuleContext(VariableNameContext.class,0);
11998 }
11999 public TransactionVariableNameContext(ParserRuleContext parent, int invokingState) {
12000 super(parent, invokingState);
12001 }
12002 @Override public int getRuleIndex() { return RULE_transactionVariableName; }
12003 @Override
12004 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12005 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTransactionVariableName(this);
12006 else return visitor.visitChildren(this);
12007 }
12008 }
12009
12010 public final TransactionVariableNameContext transactionVariableName() throws RecognitionException {
12011 TransactionVariableNameContext _localctx = new TransactionVariableNameContext(_ctx, getState());
12012 enterRule(_localctx, 240, RULE_transactionVariableName);
12013 try {
12014 enterOuterAlt(_localctx, 1);
12015 {
12016 setState(2062);
12017 variableName();
12018 }
12019 }
12020 catch (RecognitionException re) {
12021 _localctx.exception = re;
12022 _errHandler.reportError(this, re);
12023 _errHandler.recover(this, re);
12024 }
12025 finally {
12026 exitRule();
12027 }
12028 return _localctx;
12029 }
12030
12031 public static class SavepointNameContext extends ParserRuleContext {
12032 public IdentifierContext identifier() {
12033 return getRuleContext(IdentifierContext.class,0);
12034 }
12035 public SavepointNameContext(ParserRuleContext parent, int invokingState) {
12036 super(parent, invokingState);
12037 }
12038 @Override public int getRuleIndex() { return RULE_savepointName; }
12039 @Override
12040 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12041 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSavepointName(this);
12042 else return visitor.visitChildren(this);
12043 }
12044 }
12045
12046 public final SavepointNameContext savepointName() throws RecognitionException {
12047 SavepointNameContext _localctx = new SavepointNameContext(_ctx, getState());
12048 enterRule(_localctx, 242, RULE_savepointName);
12049 try {
12050 enterOuterAlt(_localctx, 1);
12051 {
12052 setState(2064);
12053 identifier();
12054 }
12055 }
12056 catch (RecognitionException re) {
12057 _localctx.exception = re;
12058 _errHandler.reportError(this, re);
12059 _errHandler.recover(this, re);
12060 }
12061 finally {
12062 exitRule();
12063 }
12064 return _localctx;
12065 }
12066
12067 public static class SavepointVariableNameContext extends ParserRuleContext {
12068 public VariableNameContext variableName() {
12069 return getRuleContext(VariableNameContext.class,0);
12070 }
12071 public SavepointVariableNameContext(ParserRuleContext parent, int invokingState) {
12072 super(parent, invokingState);
12073 }
12074 @Override public int getRuleIndex() { return RULE_savepointVariableName; }
12075 @Override
12076 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12077 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSavepointVariableName(this);
12078 else return visitor.visitChildren(this);
12079 }
12080 }
12081
12082 public final SavepointVariableNameContext savepointVariableName() throws RecognitionException {
12083 SavepointVariableNameContext _localctx = new SavepointVariableNameContext(_ctx, getState());
12084 enterRule(_localctx, 244, RULE_savepointVariableName);
12085 try {
12086 enterOuterAlt(_localctx, 1);
12087 {
12088 setState(2066);
12089 variableName();
12090 }
12091 }
12092 catch (RecognitionException re) {
12093 _localctx.exception = re;
12094 _errHandler.reportError(this, re);
12095 _errHandler.recover(this, re);
12096 }
12097 finally {
12098 exitRule();
12099 }
12100 return _localctx;
12101 }
12102
12103 public static class EntityTypeContext extends ParserRuleContext {
12104 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
12105 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
12106 public EntityTypeContext(ParserRuleContext parent, int invokingState) {
12107 super(parent, invokingState);
12108 }
12109 @Override public int getRuleIndex() { return RULE_entityType; }
12110 @Override
12111 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12112 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEntityType(this);
12113 else return visitor.visitChildren(this);
12114 }
12115 }
12116
12117 public final EntityTypeContext entityType() throws RecognitionException {
12118 EntityTypeContext _localctx = new EntityTypeContext(_ctx, getState());
12119 enterRule(_localctx, 246, RULE_entityType);
12120 int _la;
12121 try {
12122 enterOuterAlt(_localctx, 1);
12123 {
12124 setState(2068);
12125 _la = _input.LA(1);
12126 if ( !(_la==TYPE || _la==OBJECT) ) {
12127 _errHandler.recoverInline(this);
12128 }
12129 else {
12130 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
12131 _errHandler.reportMatch(this);
12132 consume();
12133 }
12134 }
12135 }
12136 catch (RecognitionException re) {
12137 _localctx.exception = re;
12138 _errHandler.reportError(this, re);
12139 _errHandler.recover(this, re);
12140 }
12141 finally {
12142 exitRule();
12143 }
12144 return _localctx;
12145 }
12146
12147 public static class IfExistsContext extends ParserRuleContext {
12148 public TerminalNode IF() { return getToken(SQLServerStatementParser.IF, 0); }
12149 public TerminalNode EXISTS() { return getToken(SQLServerStatementParser.EXISTS, 0); }
12150 public IfExistsContext(ParserRuleContext parent, int invokingState) {
12151 super(parent, invokingState);
12152 }
12153 @Override public int getRuleIndex() { return RULE_ifExists; }
12154 @Override
12155 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12156 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIfExists(this);
12157 else return visitor.visitChildren(this);
12158 }
12159 }
12160
12161 public final IfExistsContext ifExists() throws RecognitionException {
12162 IfExistsContext _localctx = new IfExistsContext(_ctx, getState());
12163 enterRule(_localctx, 248, RULE_ifExists);
12164 try {
12165 enterOuterAlt(_localctx, 1);
12166 {
12167 setState(2070);
12168 match(IF);
12169 setState(2071);
12170 match(EXISTS);
12171 }
12172 }
12173 catch (RecognitionException re) {
12174 _localctx.exception = re;
12175 _errHandler.reportError(this, re);
12176 _errHandler.recover(this, re);
12177 }
12178 finally {
12179 exitRule();
12180 }
12181 return _localctx;
12182 }
12183
12184 public static class TableHintLimitedContext extends ParserRuleContext {
12185 public TerminalNode KEEPIDENTITY() { return getToken(SQLServerStatementParser.KEEPIDENTITY, 0); }
12186 public TerminalNode KEEPDEFAULTS() { return getToken(SQLServerStatementParser.KEEPDEFAULTS, 0); }
12187 public TerminalNode HOLDLOCK() { return getToken(SQLServerStatementParser.HOLDLOCK, 0); }
12188 public TerminalNode IGNORE_CONSTRAINTS() { return getToken(SQLServerStatementParser.IGNORE_CONSTRAINTS, 0); }
12189 public TerminalNode IGNORE_TRIGGERS() { return getToken(SQLServerStatementParser.IGNORE_TRIGGERS, 0); }
12190 public TerminalNode NOLOCK() { return getToken(SQLServerStatementParser.NOLOCK, 0); }
12191 public TerminalNode NOWAIT() { return getToken(SQLServerStatementParser.NOWAIT, 0); }
12192 public TerminalNode PAGLOCK() { return getToken(SQLServerStatementParser.PAGLOCK, 0); }
12193 public TerminalNode READCOMMITTED() { return getToken(SQLServerStatementParser.READCOMMITTED, 0); }
12194 public TerminalNode READCOMMITTEDLOCK() { return getToken(SQLServerStatementParser.READCOMMITTEDLOCK, 0); }
12195 public TerminalNode READPAST() { return getToken(SQLServerStatementParser.READPAST, 0); }
12196 public TerminalNode REPEATABLEREAD() { return getToken(SQLServerStatementParser.REPEATABLEREAD, 0); }
12197 public TerminalNode ROWLOCK() { return getToken(SQLServerStatementParser.ROWLOCK, 0); }
12198 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
12199 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
12200 public TerminalNode TABLOCK() { return getToken(SQLServerStatementParser.TABLOCK, 0); }
12201 public TerminalNode TABLOCKX() { return getToken(SQLServerStatementParser.TABLOCKX, 0); }
12202 public TerminalNode UPDLOCK() { return getToken(SQLServerStatementParser.UPDLOCK, 0); }
12203 public TerminalNode XLOCK() { return getToken(SQLServerStatementParser.XLOCK, 0); }
12204 public TableHintLimitedContext(ParserRuleContext parent, int invokingState) {
12205 super(parent, invokingState);
12206 }
12207 @Override public int getRuleIndex() { return RULE_tableHintLimited; }
12208 @Override
12209 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12210 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableHintLimited(this);
12211 else return visitor.visitChildren(this);
12212 }
12213 }
12214
12215 public final TableHintLimitedContext tableHintLimited() throws RecognitionException {
12216 TableHintLimitedContext _localctx = new TableHintLimitedContext(_ctx, getState());
12217 enterRule(_localctx, 250, RULE_tableHintLimited);
12218 int _la;
12219 try {
12220 enterOuterAlt(_localctx, 1);
12221 {
12222 setState(2073);
12223 _la = _input.LA(1);
12224 if ( !(((((_la - 216)) & ~0x3f) == 0 && ((1L << (_la - 216)) & ((1L << (KEEPIDENTITY - 216)) | (1L << (KEEPDEFAULTS - 216)) | (1L << (HOLDLOCK - 216)) | (1L << (IGNORE_CONSTRAINTS - 216)) | (1L << (IGNORE_TRIGGERS - 216)) | (1L << (NOLOCK - 216)) | (1L << (NOWAIT - 216)) | (1L << (PAGLOCK - 216)) | (1L << (READCOMMITTED - 216)) | (1L << (READCOMMITTEDLOCK - 216)) | (1L << (READPAST - 216)) | (1L << (REPEATABLEREAD - 216)) | (1L << (ROWLOCK - 216)) | (1L << (TABLOCK - 216)) | (1L << (TABLOCKX - 216)) | (1L << (UPDLOCK - 216)) | (1L << (XLOCK - 216)))) != 0) || _la==SNAPSHOT || _la==SERIALIZABLE) ) {
12225 _errHandler.recoverInline(this);
12226 }
12227 else {
12228 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
12229 _errHandler.reportMatch(this);
12230 consume();
12231 }
12232 }
12233 }
12234 catch (RecognitionException re) {
12235 _localctx.exception = re;
12236 _errHandler.reportError(this, re);
12237 _errHandler.recover(this, re);
12238 }
12239 finally {
12240 exitRule();
12241 }
12242 return _localctx;
12243 }
12244
12245 public static class CallContext extends ParserRuleContext {
12246 public TerminalNode CALL() { return getToken(SQLServerStatementParser.CALL, 0); }
12247 public CallContext(ParserRuleContext parent, int invokingState) {
12248 super(parent, invokingState);
12249 }
12250 @Override public int getRuleIndex() { return RULE_call; }
12251 @Override
12252 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12253 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCall(this);
12254 else return visitor.visitChildren(this);
12255 }
12256 }
12257
12258 public final CallContext call() throws RecognitionException {
12259 CallContext _localctx = new CallContext(_ctx, getState());
12260 enterRule(_localctx, 252, RULE_call);
12261 try {
12262 enterOuterAlt(_localctx, 1);
12263 {
12264 setState(2075);
12265 match(CALL);
12266 }
12267 }
12268 catch (RecognitionException re) {
12269 _localctx.exception = re;
12270 _errHandler.reportError(this, re);
12271 _errHandler.recover(this, re);
12272 }
12273 finally {
12274 exitRule();
12275 }
12276 return _localctx;
12277 }
12278
12279 public static class ExplainContext extends ParserRuleContext {
12280 public TerminalNode EXPLAIN() { return getToken(SQLServerStatementParser.EXPLAIN, 0); }
12281 public ExplainableStatementContext explainableStatement() {
12282 return getRuleContext(ExplainableStatementContext.class,0);
12283 }
12284 public TerminalNode WITH_RECOMMENDATIONS() { return getToken(SQLServerStatementParser.WITH_RECOMMENDATIONS, 0); }
12285 public ExplainContext(ParserRuleContext parent, int invokingState) {
12286 super(parent, invokingState);
12287 }
12288 @Override public int getRuleIndex() { return RULE_explain; }
12289 @Override
12290 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12291 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExplain(this);
12292 else return visitor.visitChildren(this);
12293 }
12294 }
12295
12296 public final ExplainContext explain() throws RecognitionException {
12297 ExplainContext _localctx = new ExplainContext(_ctx, getState());
12298 enterRule(_localctx, 254, RULE_explain);
12299 int _la;
12300 try {
12301 enterOuterAlt(_localctx, 1);
12302 {
12303 setState(2077);
12304 match(EXPLAIN);
12305 setState(2079);
12306 _errHandler.sync(this);
12307 _la = _input.LA(1);
12308 if (_la==WITH_RECOMMENDATIONS) {
12309 {
12310 setState(2078);
12311 match(WITH_RECOMMENDATIONS);
12312 }
12313 }
12314
12315 setState(2081);
12316 explainableStatement();
12317 }
12318 }
12319 catch (RecognitionException re) {
12320 _localctx.exception = re;
12321 _errHandler.reportError(this, re);
12322 _errHandler.recover(this, re);
12323 }
12324 finally {
12325 exitRule();
12326 }
12327 return _localctx;
12328 }
12329
12330 public static class ExplainableStatementContext extends ParserRuleContext {
12331 public SelectContext select() {
12332 return getRuleContext(SelectContext.class,0);
12333 }
12334 public InsertContext insert() {
12335 return getRuleContext(InsertContext.class,0);
12336 }
12337 public UpdateContext update() {
12338 return getRuleContext(UpdateContext.class,0);
12339 }
12340 public DeleteContext delete() {
12341 return getRuleContext(DeleteContext.class,0);
12342 }
12343 public CreateTableAsSelectClauseContext createTableAsSelectClause() {
12344 return getRuleContext(CreateTableAsSelectClauseContext.class,0);
12345 }
12346 public ExplainableStatementContext(ParserRuleContext parent, int invokingState) {
12347 super(parent, invokingState);
12348 }
12349 @Override public int getRuleIndex() { return RULE_explainableStatement; }
12350 @Override
12351 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12352 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExplainableStatement(this);
12353 else return visitor.visitChildren(this);
12354 }
12355 }
12356
12357 public final ExplainableStatementContext explainableStatement() throws RecognitionException {
12358 ExplainableStatementContext _localctx = new ExplainableStatementContext(_ctx, getState());
12359 enterRule(_localctx, 256, RULE_explainableStatement);
12360 try {
12361 setState(2088);
12362 _errHandler.sync(this);
12363 switch ( getInterpreter().adaptivePredict(_input,130,_ctx) ) {
12364 case 1:
12365 enterOuterAlt(_localctx, 1);
12366 {
12367 setState(2083);
12368 select();
12369 }
12370 break;
12371 case 2:
12372 enterOuterAlt(_localctx, 2);
12373 {
12374 setState(2084);
12375 insert();
12376 }
12377 break;
12378 case 3:
12379 enterOuterAlt(_localctx, 3);
12380 {
12381 setState(2085);
12382 update();
12383 }
12384 break;
12385 case 4:
12386 enterOuterAlt(_localctx, 4);
12387 {
12388 setState(2086);
12389 delete();
12390 }
12391 break;
12392 case 5:
12393 enterOuterAlt(_localctx, 5);
12394 {
12395 setState(2087);
12396 createTableAsSelectClause();
12397 }
12398 break;
12399 }
12400 }
12401 catch (RecognitionException re) {
12402 _localctx.exception = re;
12403 _errHandler.reportError(this, re);
12404 _errHandler.recover(this, re);
12405 }
12406 finally {
12407 exitRule();
12408 }
12409 return _localctx;
12410 }
12411
12412 public static class CreateTableContext extends ParserRuleContext {
12413 public CreateTableClauseContext createTableClause() {
12414 return getRuleContext(CreateTableClauseContext.class,0);
12415 }
12416 public CreateTableAsSelectClauseContext createTableAsSelectClause() {
12417 return getRuleContext(CreateTableAsSelectClauseContext.class,0);
12418 }
12419 public CreateTableContext(ParserRuleContext parent, int invokingState) {
12420 super(parent, invokingState);
12421 }
12422 @Override public int getRuleIndex() { return RULE_createTable; }
12423 @Override
12424 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12425 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTable(this);
12426 else return visitor.visitChildren(this);
12427 }
12428 }
12429
12430 public final CreateTableContext createTable() throws RecognitionException {
12431 CreateTableContext _localctx = new CreateTableContext(_ctx, getState());
12432 enterRule(_localctx, 258, RULE_createTable);
12433 try {
12434 setState(2092);
12435 _errHandler.sync(this);
12436 switch ( getInterpreter().adaptivePredict(_input,131,_ctx) ) {
12437 case 1:
12438 enterOuterAlt(_localctx, 1);
12439 {
12440 setState(2090);
12441 createTableClause();
12442 }
12443 break;
12444 case 2:
12445 enterOuterAlt(_localctx, 2);
12446 {
12447 setState(2091);
12448 createTableAsSelectClause();
12449 }
12450 break;
12451 }
12452 }
12453 catch (RecognitionException re) {
12454 _localctx.exception = re;
12455 _errHandler.reportError(this, re);
12456 _errHandler.recover(this, re);
12457 }
12458 finally {
12459 exitRule();
12460 }
12461 return _localctx;
12462 }
12463
12464 public static class CreateTableClauseContext extends ParserRuleContext {
12465 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12466 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
12467 public TableNameContext tableName() {
12468 return getRuleContext(TableNameContext.class,0);
12469 }
12470 public FileTableClauseContext fileTableClause() {
12471 return getRuleContext(FileTableClauseContext.class,0);
12472 }
12473 public CreateDefinitionClauseContext createDefinitionClause() {
12474 return getRuleContext(CreateDefinitionClauseContext.class,0);
12475 }
12476 public CreateTableClauseContext(ParserRuleContext parent, int invokingState) {
12477 super(parent, invokingState);
12478 }
12479 @Override public int getRuleIndex() { return RULE_createTableClause; }
12480 @Override
12481 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12482 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableClause(this);
12483 else return visitor.visitChildren(this);
12484 }
12485 }
12486
12487 public final CreateTableClauseContext createTableClause() throws RecognitionException {
12488 CreateTableClauseContext _localctx = new CreateTableClauseContext(_ctx, getState());
12489 enterRule(_localctx, 260, RULE_createTableClause);
12490 try {
12491 enterOuterAlt(_localctx, 1);
12492 {
12493 setState(2094);
12494 match(CREATE);
12495 setState(2095);
12496 match(TABLE);
12497 setState(2096);
12498 tableName();
12499 setState(2097);
12500 fileTableClause();
12501 setState(2098);
12502 createDefinitionClause();
12503 }
12504 }
12505 catch (RecognitionException re) {
12506 _localctx.exception = re;
12507 _errHandler.reportError(this, re);
12508 _errHandler.recover(this, re);
12509 }
12510 finally {
12511 exitRule();
12512 }
12513 return _localctx;
12514 }
12515
12516 public static class CreateIndexContext extends ParserRuleContext {
12517 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12518 public CreateIndexSpecificationContext createIndexSpecification() {
12519 return getRuleContext(CreateIndexSpecificationContext.class,0);
12520 }
12521 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
12522 public IndexNameContext indexName() {
12523 return getRuleContext(IndexNameContext.class,0);
12524 }
12525 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
12526 public TableNameContext tableName() {
12527 return getRuleContext(TableNameContext.class,0);
12528 }
12529 public ColumnNamesWithSortContext columnNamesWithSort() {
12530 return getRuleContext(ColumnNamesWithSortContext.class,0);
12531 }
12532 public CreateIndexClauseContext createIndexClause() {
12533 return getRuleContext(CreateIndexClauseContext.class,0);
12534 }
12535 public CreateIndexContext(ParserRuleContext parent, int invokingState) {
12536 super(parent, invokingState);
12537 }
12538 @Override public int getRuleIndex() { return RULE_createIndex; }
12539 @Override
12540 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12541 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateIndex(this);
12542 else return visitor.visitChildren(this);
12543 }
12544 }
12545
12546 public final CreateIndexContext createIndex() throws RecognitionException {
12547 CreateIndexContext _localctx = new CreateIndexContext(_ctx, getState());
12548 enterRule(_localctx, 262, RULE_createIndex);
12549 try {
12550 enterOuterAlt(_localctx, 1);
12551 {
12552 setState(2100);
12553 match(CREATE);
12554 setState(2101);
12555 createIndexSpecification();
12556 setState(2102);
12557 match(INDEX);
12558 setState(2103);
12559 indexName();
12560 setState(2104);
12561 match(ON);
12562 setState(2105);
12563 tableName();
12564 setState(2106);
12565 columnNamesWithSort();
12566 setState(2107);
12567 createIndexClause();
12568 }
12569 }
12570 catch (RecognitionException re) {
12571 _localctx.exception = re;
12572 _errHandler.reportError(this, re);
12573 _errHandler.recover(this, re);
12574 }
12575 finally {
12576 exitRule();
12577 }
12578 return _localctx;
12579 }
12580
12581 public static class CreateDatabaseContext extends ParserRuleContext {
12582 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12583 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
12584 public DatabaseNameContext databaseName() {
12585 return getRuleContext(DatabaseNameContext.class,0);
12586 }
12587 public CreateDatabaseClauseContext createDatabaseClause() {
12588 return getRuleContext(CreateDatabaseClauseContext.class,0);
12589 }
12590 public CreateDatabaseContext(ParserRuleContext parent, int invokingState) {
12591 super(parent, invokingState);
12592 }
12593 @Override public int getRuleIndex() { return RULE_createDatabase; }
12594 @Override
12595 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12596 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateDatabase(this);
12597 else return visitor.visitChildren(this);
12598 }
12599 }
12600
12601 public final CreateDatabaseContext createDatabase() throws RecognitionException {
12602 CreateDatabaseContext _localctx = new CreateDatabaseContext(_ctx, getState());
12603 enterRule(_localctx, 264, RULE_createDatabase);
12604 try {
12605 enterOuterAlt(_localctx, 1);
12606 {
12607 setState(2109);
12608 match(CREATE);
12609 setState(2110);
12610 match(DATABASE);
12611 setState(2111);
12612 databaseName();
12613 setState(2112);
12614 createDatabaseClause();
12615 }
12616 }
12617 catch (RecognitionException re) {
12618 _localctx.exception = re;
12619 _errHandler.reportError(this, re);
12620 _errHandler.recover(this, re);
12621 }
12622 finally {
12623 exitRule();
12624 }
12625 return _localctx;
12626 }
12627
12628 public static class CreateFunctionContext extends ParserRuleContext {
12629 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12630 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
12631 public FunctionNameContext functionName() {
12632 return getRuleContext(FunctionNameContext.class,0);
12633 }
12634 public FuncParametersContext funcParameters() {
12635 return getRuleContext(FuncParametersContext.class,0);
12636 }
12637 public FuncReturnsContext funcReturns() {
12638 return getRuleContext(FuncReturnsContext.class,0);
12639 }
12640 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
12641 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12642 public CreateFunctionContext(ParserRuleContext parent, int invokingState) {
12643 super(parent, invokingState);
12644 }
12645 @Override public int getRuleIndex() { return RULE_createFunction; }
12646 @Override
12647 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12648 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateFunction(this);
12649 else return visitor.visitChildren(this);
12650 }
12651 }
12652
12653 public final CreateFunctionContext createFunction() throws RecognitionException {
12654 CreateFunctionContext _localctx = new CreateFunctionContext(_ctx, getState());
12655 enterRule(_localctx, 266, RULE_createFunction);
12656 int _la;
12657 try {
12658 enterOuterAlt(_localctx, 1);
12659 {
12660 setState(2114);
12661 match(CREATE);
12662 setState(2117);
12663 _errHandler.sync(this);
12664 _la = _input.LA(1);
12665 if (_la==OR) {
12666 {
12667 setState(2115);
12668 match(OR);
12669 setState(2116);
12670 match(ALTER);
12671 }
12672 }
12673
12674 setState(2119);
12675 match(FUNCTION);
12676 setState(2120);
12677 functionName();
12678 setState(2121);
12679 funcParameters();
12680 setState(2122);
12681 funcReturns();
12682 }
12683 }
12684 catch (RecognitionException re) {
12685 _localctx.exception = re;
12686 _errHandler.reportError(this, re);
12687 _errHandler.recover(this, re);
12688 }
12689 finally {
12690 exitRule();
12691 }
12692 return _localctx;
12693 }
12694
12695 public static class CreateProcedureContext extends ParserRuleContext {
12696 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12697 public ProcedureNameContext procedureName() {
12698 return getRuleContext(ProcedureNameContext.class,0);
12699 }
12700 public ProcParametersContext procParameters() {
12701 return getRuleContext(ProcParametersContext.class,0);
12702 }
12703 public CreateOrAlterProcClauseContext createOrAlterProcClause() {
12704 return getRuleContext(CreateOrAlterProcClauseContext.class,0);
12705 }
12706 public TerminalNode PROC() { return getToken(SQLServerStatementParser.PROC, 0); }
12707 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
12708 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
12709 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12710 public CreateProcedureContext(ParserRuleContext parent, int invokingState) {
12711 super(parent, invokingState);
12712 }
12713 @Override public int getRuleIndex() { return RULE_createProcedure; }
12714 @Override
12715 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12716 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateProcedure(this);
12717 else return visitor.visitChildren(this);
12718 }
12719 }
12720
12721 public final CreateProcedureContext createProcedure() throws RecognitionException {
12722 CreateProcedureContext _localctx = new CreateProcedureContext(_ctx, getState());
12723 enterRule(_localctx, 268, RULE_createProcedure);
12724 int _la;
12725 try {
12726 enterOuterAlt(_localctx, 1);
12727 {
12728 setState(2124);
12729 match(CREATE);
12730 setState(2127);
12731 _errHandler.sync(this);
12732 _la = _input.LA(1);
12733 if (_la==OR) {
12734 {
12735 setState(2125);
12736 match(OR);
12737 setState(2126);
12738 match(ALTER);
12739 }
12740 }
12741
12742 setState(2129);
12743 _la = _input.LA(1);
12744 if ( !(_la==PROCEDURE || _la==PROC) ) {
12745 _errHandler.recoverInline(this);
12746 }
12747 else {
12748 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
12749 _errHandler.reportMatch(this);
12750 consume();
12751 }
12752 setState(2130);
12753 procedureName();
12754 setState(2131);
12755 procParameters();
12756 setState(2132);
12757 createOrAlterProcClause();
12758 }
12759 }
12760 catch (RecognitionException re) {
12761 _localctx.exception = re;
12762 _errHandler.reportError(this, re);
12763 _errHandler.recover(this, re);
12764 }
12765 finally {
12766 exitRule();
12767 }
12768 return _localctx;
12769 }
12770
12771 public static class CreateViewContext extends ParserRuleContext {
12772 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12773 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
12774 public ViewNameContext viewName() {
12775 return getRuleContext(ViewNameContext.class,0);
12776 }
12777 public CreateOrAlterViewClauseContext createOrAlterViewClause() {
12778 return getRuleContext(CreateOrAlterViewClauseContext.class,0);
12779 }
12780 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
12781 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12782 public CreateViewContext(ParserRuleContext parent, int invokingState) {
12783 super(parent, invokingState);
12784 }
12785 @Override public int getRuleIndex() { return RULE_createView; }
12786 @Override
12787 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12788 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateView(this);
12789 else return visitor.visitChildren(this);
12790 }
12791 }
12792
12793 public final CreateViewContext createView() throws RecognitionException {
12794 CreateViewContext _localctx = new CreateViewContext(_ctx, getState());
12795 enterRule(_localctx, 270, RULE_createView);
12796 int _la;
12797 try {
12798 enterOuterAlt(_localctx, 1);
12799 {
12800 setState(2134);
12801 match(CREATE);
12802 setState(2137);
12803 _errHandler.sync(this);
12804 _la = _input.LA(1);
12805 if (_la==OR) {
12806 {
12807 setState(2135);
12808 match(OR);
12809 setState(2136);
12810 match(ALTER);
12811 }
12812 }
12813
12814 setState(2139);
12815 match(VIEW);
12816 setState(2140);
12817 viewName();
12818 setState(2141);
12819 createOrAlterViewClause();
12820 }
12821 }
12822 catch (RecognitionException re) {
12823 _localctx.exception = re;
12824 _errHandler.reportError(this, re);
12825 _errHandler.recover(this, re);
12826 }
12827 finally {
12828 exitRule();
12829 }
12830 return _localctx;
12831 }
12832
12833 public static class CreateTriggerContext extends ParserRuleContext {
12834 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12835 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
12836 public TriggerNameContext triggerName() {
12837 return getRuleContext(TriggerNameContext.class,0);
12838 }
12839 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
12840 public TriggerTargetContext triggerTarget() {
12841 return getRuleContext(TriggerTargetContext.class,0);
12842 }
12843 public CreateTriggerClauseContext createTriggerClause() {
12844 return getRuleContext(CreateTriggerClauseContext.class,0);
12845 }
12846 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
12847 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12848 public CreateTriggerContext(ParserRuleContext parent, int invokingState) {
12849 super(parent, invokingState);
12850 }
12851 @Override public int getRuleIndex() { return RULE_createTrigger; }
12852 @Override
12853 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12854 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTrigger(this);
12855 else return visitor.visitChildren(this);
12856 }
12857 }
12858
12859 public final CreateTriggerContext createTrigger() throws RecognitionException {
12860 CreateTriggerContext _localctx = new CreateTriggerContext(_ctx, getState());
12861 enterRule(_localctx, 272, RULE_createTrigger);
12862 int _la;
12863 try {
12864 enterOuterAlt(_localctx, 1);
12865 {
12866 setState(2143);
12867 match(CREATE);
12868 setState(2146);
12869 _errHandler.sync(this);
12870 _la = _input.LA(1);
12871 if (_la==OR) {
12872 {
12873 setState(2144);
12874 match(OR);
12875 setState(2145);
12876 match(ALTER);
12877 }
12878 }
12879
12880 setState(2148);
12881 match(TRIGGER);
12882 setState(2149);
12883 triggerName();
12884 setState(2150);
12885 match(ON);
12886 setState(2151);
12887 triggerTarget();
12888 setState(2152);
12889 createTriggerClause();
12890 }
12891 }
12892 catch (RecognitionException re) {
12893 _localctx.exception = re;
12894 _errHandler.reportError(this, re);
12895 _errHandler.recover(this, re);
12896 }
12897 finally {
12898 exitRule();
12899 }
12900 return _localctx;
12901 }
12902
12903 public static class CreateSequenceContext extends ParserRuleContext {
12904 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12905 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
12906 public SequenceNameContext sequenceName() {
12907 return getRuleContext(SequenceNameContext.class,0);
12908 }
12909 public List<CreateOrAlterSequenceClauseContext> createOrAlterSequenceClause() {
12910 return getRuleContexts(CreateOrAlterSequenceClauseContext.class);
12911 }
12912 public CreateOrAlterSequenceClauseContext createOrAlterSequenceClause(int i) {
12913 return getRuleContext(CreateOrAlterSequenceClauseContext.class,i);
12914 }
12915 public CreateSequenceContext(ParserRuleContext parent, int invokingState) {
12916 super(parent, invokingState);
12917 }
12918 @Override public int getRuleIndex() { return RULE_createSequence; }
12919 @Override
12920 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12921 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateSequence(this);
12922 else return visitor.visitChildren(this);
12923 }
12924 }
12925
12926 public final CreateSequenceContext createSequence() throws RecognitionException {
12927 CreateSequenceContext _localctx = new CreateSequenceContext(_ctx, getState());
12928 enterRule(_localctx, 274, RULE_createSequence);
12929 int _la;
12930 try {
12931 enterOuterAlt(_localctx, 1);
12932 {
12933 setState(2154);
12934 match(CREATE);
12935 setState(2155);
12936 match(SEQUENCE);
12937 setState(2156);
12938 sequenceName();
12939 setState(2160);
12940 _errHandler.sync(this);
12941 _la = _input.LA(1);
12942 while (_la==AS || _la==NO || _la==START || ((((_la - 548)) & ~0x3f) == 0 && ((1L << (_la - 548)) & ((1L << (INCREMENT - 548)) | (1L << (CYCLE - 548)) | (1L << (CACHE - 548)) | (1L << (MINVALUE - 548)) | (1L << (MAXVALUE - 548)) | (1L << (RESTART - 548)))) != 0)) {
12943 {
12944 {
12945 setState(2157);
12946 createOrAlterSequenceClause();
12947 }
12948 }
12949 setState(2162);
12950 _errHandler.sync(this);
12951 _la = _input.LA(1);
12952 }
12953 }
12954 }
12955 catch (RecognitionException re) {
12956 _localctx.exception = re;
12957 _errHandler.reportError(this, re);
12958 _errHandler.recover(this, re);
12959 }
12960 finally {
12961 exitRule();
12962 }
12963 return _localctx;
12964 }
12965
12966 public static class CreateServiceContext extends ParserRuleContext {
12967 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
12968 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
12969 public ServiceNameContext serviceName() {
12970 return getRuleContext(ServiceNameContext.class,0);
12971 }
12972 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
12973 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
12974 public QueueNameContext queueName() {
12975 return getRuleContext(QueueNameContext.class,0);
12976 }
12977 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
12978 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
12979 public CreateServiceClauseContext createServiceClause() {
12980 return getRuleContext(CreateServiceClauseContext.class,0);
12981 }
12982 public CreateServiceContext(ParserRuleContext parent, int invokingState) {
12983 super(parent, invokingState);
12984 }
12985 @Override public int getRuleIndex() { return RULE_createService; }
12986 @Override
12987 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12988 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateService(this);
12989 else return visitor.visitChildren(this);
12990 }
12991 }
12992
12993 public final CreateServiceContext createService() throws RecognitionException {
12994 CreateServiceContext _localctx = new CreateServiceContext(_ctx, getState());
12995 enterRule(_localctx, 276, RULE_createService);
12996 int _la;
12997 try {
12998 enterOuterAlt(_localctx, 1);
12999 {
13000 setState(2163);
13001 match(CREATE);
13002 setState(2164);
13003 match(SERVICE);
13004 setState(2165);
13005 serviceName();
13006 setState(2168);
13007 _errHandler.sync(this);
13008 _la = _input.LA(1);
13009 if (_la==AUTHORIZATION) {
13010 {
13011 setState(2166);
13012 match(AUTHORIZATION);
13013 setState(2167);
13014 match(STRING_);
13015 }
13016 }
13017
13018 setState(2170);
13019 match(ON);
13020 setState(2171);
13021 match(QUEUE);
13022 setState(2172);
13023 queueName();
13024 setState(2174);
13025 _errHandler.sync(this);
13026 _la = _input.LA(1);
13027 if (_la==LP_) {
13028 {
13029 setState(2173);
13030 createServiceClause();
13031 }
13032 }
13033
13034 }
13035 }
13036 catch (RecognitionException re) {
13037 _localctx.exception = re;
13038 _errHandler.reportError(this, re);
13039 _errHandler.recover(this, re);
13040 }
13041 finally {
13042 exitRule();
13043 }
13044 return _localctx;
13045 }
13046
13047 public static class CreateSchemaContext extends ParserRuleContext {
13048 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
13049 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
13050 public SchemaNameClauseContext schemaNameClause() {
13051 return getRuleContext(SchemaNameClauseContext.class,0);
13052 }
13053 public List<SchemaElementContext> schemaElement() {
13054 return getRuleContexts(SchemaElementContext.class);
13055 }
13056 public SchemaElementContext schemaElement(int i) {
13057 return getRuleContext(SchemaElementContext.class,i);
13058 }
13059 public CreateSchemaContext(ParserRuleContext parent, int invokingState) {
13060 super(parent, invokingState);
13061 }
13062 @Override public int getRuleIndex() { return RULE_createSchema; }
13063 @Override
13064 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13065 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateSchema(this);
13066 else return visitor.visitChildren(this);
13067 }
13068 }
13069
13070 public final CreateSchemaContext createSchema() throws RecognitionException {
13071 CreateSchemaContext _localctx = new CreateSchemaContext(_ctx, getState());
13072 enterRule(_localctx, 278, RULE_createSchema);
13073 int _la;
13074 try {
13075 enterOuterAlt(_localctx, 1);
13076 {
13077 setState(2176);
13078 match(CREATE);
13079 setState(2177);
13080 match(SCHEMA);
13081 setState(2178);
13082 schemaNameClause();
13083 setState(2182);
13084 _errHandler.sync(this);
13085 _la = _input.LA(1);
13086 while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << CREATE) | (1L << GRANT) | (1L << REVOKE))) != 0) || _la==DENY) {
13087 {
13088 {
13089 setState(2179);
13090 schemaElement();
13091 }
13092 }
13093 setState(2184);
13094 _errHandler.sync(this);
13095 _la = _input.LA(1);
13096 }
13097 }
13098 }
13099 catch (RecognitionException re) {
13100 _localctx.exception = re;
13101 _errHandler.reportError(this, re);
13102 _errHandler.recover(this, re);
13103 }
13104 finally {
13105 exitRule();
13106 }
13107 return _localctx;
13108 }
13109
13110 public static class AlterTableContext extends ParserRuleContext {
13111 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13112 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
13113 public TableNameContext tableName() {
13114 return getRuleContext(TableNameContext.class,0);
13115 }
13116 public List<AlterDefinitionClauseContext> alterDefinitionClause() {
13117 return getRuleContexts(AlterDefinitionClauseContext.class);
13118 }
13119 public AlterDefinitionClauseContext alterDefinitionClause(int i) {
13120 return getRuleContext(AlterDefinitionClauseContext.class,i);
13121 }
13122 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
13123 public TerminalNode COMMA_(int i) {
13124 return getToken(SQLServerStatementParser.COMMA_, i);
13125 }
13126 public AlterTableContext(ParserRuleContext parent, int invokingState) {
13127 super(parent, invokingState);
13128 }
13129 @Override public int getRuleIndex() { return RULE_alterTable; }
13130 @Override
13131 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13132 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTable(this);
13133 else return visitor.visitChildren(this);
13134 }
13135 }
13136
13137 public final AlterTableContext alterTable() throws RecognitionException {
13138 AlterTableContext _localctx = new AlterTableContext(_ctx, getState());
13139 enterRule(_localctx, 280, RULE_alterTable);
13140 int _la;
13141 try {
13142 enterOuterAlt(_localctx, 1);
13143 {
13144 setState(2185);
13145 match(ALTER);
13146 setState(2186);
13147 match(TABLE);
13148 setState(2187);
13149 tableName();
13150 setState(2188);
13151 alterDefinitionClause();
13152 setState(2193);
13153 _errHandler.sync(this);
13154 _la = _input.LA(1);
13155 while (_la==COMMA_) {
13156 {
13157 {
13158 setState(2189);
13159 match(COMMA_);
13160 setState(2190);
13161 alterDefinitionClause();
13162 }
13163 }
13164 setState(2195);
13165 _errHandler.sync(this);
13166 _la = _input.LA(1);
13167 }
13168 }
13169 }
13170 catch (RecognitionException re) {
13171 _localctx.exception = re;
13172 _errHandler.reportError(this, re);
13173 _errHandler.recover(this, re);
13174 }
13175 finally {
13176 exitRule();
13177 }
13178 return _localctx;
13179 }
13180
13181 public static class AlterIndexContext extends ParserRuleContext {
13182 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13183 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
13184 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
13185 public TableNameContext tableName() {
13186 return getRuleContext(TableNameContext.class,0);
13187 }
13188 public AlterIndexClauseContext alterIndexClause() {
13189 return getRuleContext(AlterIndexClauseContext.class,0);
13190 }
13191 public IndexNameContext indexName() {
13192 return getRuleContext(IndexNameContext.class,0);
13193 }
13194 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
13195 public AlterIndexContext(ParserRuleContext parent, int invokingState) {
13196 super(parent, invokingState);
13197 }
13198 @Override public int getRuleIndex() { return RULE_alterIndex; }
13199 @Override
13200 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13201 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterIndex(this);
13202 else return visitor.visitChildren(this);
13203 }
13204 }
13205
13206 public final AlterIndexContext alterIndex() throws RecognitionException {
13207 AlterIndexContext _localctx = new AlterIndexContext(_ctx, getState());
13208 enterRule(_localctx, 282, RULE_alterIndex);
13209 try {
13210 enterOuterAlt(_localctx, 1);
13211 {
13212 setState(2196);
13213 match(ALTER);
13214 setState(2197);
13215 match(INDEX);
13216 setState(2200);
13217 _errHandler.sync(this);
13218 switch (_input.LA(1)) {
13219 case TRUNCATE:
13220 case SCHEMA:
13221 case COLUMNS:
13222 case PRECISION:
13223 case FUNCTION:
13224 case TRIGGER:
13225 case CAST:
13226 case TRIM:
13227 case SUBSTRING:
13228 case OFF:
13229 case GROUP:
13230 case LIMIT:
13231 case OFFSET:
13232 case SAVEPOINT:
13233 case BOOLEAN:
13234 case ARRAY:
13235 case DATE:
13236 case TIMESTAMP:
13237 case LOCALTIME:
13238 case LOCALTIMESTAMP:
13239 case YEAR:
13240 case QUARTER:
13241 case MONTH:
13242 case WEEK:
13243 case DAY:
13244 case SECOND:
13245 case MICROSECOND:
13246 case MAX:
13247 case MIN:
13248 case SUM:
13249 case COUNT:
13250 case AVG:
13251 case ENABLE:
13252 case DISABLE:
13253 case INSTANCE:
13254 case DO:
13255 case DEFINER:
13256 case SQL:
13257 case CASCADED:
13258 case LOCAL:
13259 case NEXT:
13260 case NAME:
13261 case INTEGER:
13262 case TYPE:
13263 case TEXT:
13264 case VIEWS:
13265 case READ_ONLY:
13266 case DATABASE:
13267 case RETURNS:
13268 case DATEPART:
13269 case PASSWORD:
13270 case BINARY:
13271 case HIDDEN_:
13272 case MOD:
13273 case PARTITION:
13274 case PARTITIONS:
13275 case TOP:
13276 case ROW:
13277 case ROWS:
13278 case XOR:
13279 case ALWAYS:
13280 case ROLE:
13281 case START:
13282 case ALGORITHM:
13283 case AUTO:
13284 case BLOCKERS:
13285 case CLUSTERED:
13286 case NONCLUSTERED:
13287 case COLUMNSTORE:
13288 case CONTENT:
13289 case YEARS:
13290 case MONTHS:
13291 case WEEKS:
13292 case DAYS:
13293 case MINUTES:
13294 case DENY:
13295 case DETERMINISTIC:
13296 case DISTRIBUTION:
13297 case DOCUMENT:
13298 case DURABILITY:
13299 case ENCRYPTED:
13300 case FILESTREAM:
13301 case FILETABLE:
13302 case FILLFACTOR:
13303 case FOLLOWING:
13304 case HASH:
13305 case HEAP:
13306 case INBOUND:
13307 case OUTBOUND:
13308 case UNBOUNDED:
13309 case INFINITE:
13310 case LOGIN:
13311 case MASKED:
13312 case MAXDOP:
13313 case MOVE:
13314 case NOCHECK:
13315 case OBJECT:
13316 case ONLINE:
13317 case OVER:
13318 case PAGE:
13319 case PAUSED:
13320 case PERIOD:
13321 case PERSISTED:
13322 case PRECEDING:
13323 case RANDOMIZED:
13324 case RANGE:
13325 case REBUILD:
13326 case REPLICATE:
13327 case REPLICATION:
13328 case RESUMABLE:
13329 case ROWGUIDCOL:
13330 case SAVE:
13331 case SELF:
13332 case SPARSE:
13333 case SWITCH:
13334 case TRAN:
13335 case TRANCOUNT:
13336 case CONTROL:
13337 case CONCAT:
13338 case TAKE:
13339 case OWNERSHIP:
13340 case DEFINITION:
13341 case APPLICATION:
13342 case ASSEMBLY:
13343 case SYMMETRIC:
13344 case ASYMMETRIC:
13345 case SERVER:
13346 case RECEIVE:
13347 case CHANGE:
13348 case TRACE:
13349 case TRACKING:
13350 case RESOURCES:
13351 case SETTINGS:
13352 case STATE:
13353 case AVAILABILITY:
13354 case CREDENTIAL:
13355 case ENDPOINT:
13356 case EVENT:
13357 case NOTIFICATION:
13358 case LINKED:
13359 case AUDIT:
13360 case DDL:
13361 case XML:
13362 case IMPERSONATE:
13363 case SECURABLES:
13364 case AUTHENTICATE:
13365 case EXTERNAL:
13366 case ACCESS:
13367 case ADMINISTER:
13368 case BULK:
13369 case OPERATIONS:
13370 case UNSAFE:
13371 case SHUTDOWN:
13372 case SCOPED:
13373 case CONFIGURATION:
13374 case DATASPACE:
13375 case SERVICE:
13376 case CERTIFICATE:
13377 case CONTRACT:
13378 case ENCRYPTION:
13379 case MASTER:
13380 case DATA:
13381 case SOURCE:
13382 case FILE:
13383 case FORMAT:
13384 case LIBRARY:
13385 case FULLTEXT:
13386 case MASK:
13387 case UNMASK:
13388 case MESSAGE:
13389 case REMOTE:
13390 case BINDING:
13391 case ROUTE:
13392 case SECURITY:
13393 case POLICY:
13394 case AGGREGATE:
13395 case QUEUE:
13396 case RULE:
13397 case SYNONYM:
13398 case COLLECTION:
13399 case SCRIPT:
13400 case KILL:
13401 case BACKUP:
13402 case LOG:
13403 case SHOWPLAN:
13404 case SUBSCRIBE:
13405 case QUERY:
13406 case NOTIFICATIONS:
13407 case CHECKPOINT:
13408 case SEQUENCE:
13409 case ABORT_AFTER_WAIT:
13410 case ALLOW_PAGE_LOCKS:
13411 case ALLOW_ROW_LOCKS:
13412 case ALL_SPARSE_COLUMNS:
13413 case BUCKET_COUNT:
13414 case COLUMNSTORE_ARCHIVE:
13415 case COLUMN_ENCRYPTION_KEY:
13416 case COLUMN_SET:
13417 case COMPRESSION_DELAY:
13418 case DATABASE_DEAULT:
13419 case DATA_COMPRESSION:
13420 case DATA_CONSISTENCY_CHECK:
13421 case ENCRYPTION_TYPE:
13422 case SYSTEM_TIME:
13423 case SYSTEM_VERSIONING:
13424 case TEXTIMAGE_ON:
13425 case WAIT_AT_LOW_PRIORITY:
13426 case STATISTICS_INCREMENTAL:
13427 case STATISTICS_NORECOMPUTE:
13428 case ROUND_ROBIN:
13429 case SCHEMA_AND_DATA:
13430 case SCHEMA_ONLY:
13431 case SORT_IN_TEMPDB:
13432 case IGNORE_DUP_KEY:
13433 case IMPLICIT_TRANSACTIONS:
13434 case MAX_DURATION:
13435 case MEMORY_OPTIMIZED:
13436 case MIGRATION_STATE:
13437 case PAD_INDEX:
13438 case REMOTE_DATA_ARCHIVE:
13439 case FILESTREAM_ON:
13440 case FILETABLE_COLLATE_FILENAME:
13441 case FILETABLE_DIRECTORY:
13442 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
13443 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
13444 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
13445 case FILTER_PREDICATE:
13446 case HISTORY_RETENTION_PERIOD:
13447 case HISTORY_TABLE:
13448 case LOCK_ESCALATION:
13449 case DROP_EXISTING:
13450 case ROW_NUMBER:
13451 case FIRST:
13452 case DATETIME2:
13453 case OUTPUT:
13454 case INSERTED:
13455 case DELETED:
13456 case FILENAME:
13457 case SIZE:
13458 case MAXSIZE:
13459 case FILEGROWTH:
13460 case UNLIMITED:
13461 case KB:
13462 case MB:
13463 case GB:
13464 case TB:
13465 case CONTAINS:
13466 case MEMORY_OPTIMIZED_DATA:
13467 case FILEGROUP:
13468 case NON_TRANSACTED_ACCESS:
13469 case DB_CHAINING:
13470 case TRUSTWORTHY:
13471 case FORWARD_ONLY:
13472 case KEYSET:
13473 case FAST_FORWARD:
13474 case SCROLL_LOCKS:
13475 case OPTIMISTIC:
13476 case TYPE_WARNING:
13477 case SCHEMABINDING:
13478 case CALLER:
13479 case INPUT:
13480 case OWNER:
13481 case SNAPSHOT:
13482 case REPEATABLE:
13483 case SERIALIZABLE:
13484 case NATIVE_COMPILATION:
13485 case VIEW_METADATA:
13486 case INSTEAD:
13487 case APPEND:
13488 case INCREMENT:
13489 case CACHE:
13490 case MINVALUE:
13491 case MAXVALUE:
13492 case RESTART:
13493 case LOB_COMPACTION:
13494 case COMPRESS_ALL_ROW_GROUPS:
13495 case REORGANIZE:
13496 case RESUME:
13497 case PAUSE:
13498 case ABORT:
13499 case ACCELERATED_DATABASE_RECOVERY:
13500 case PERSISTENT_VERSION_STORE_FILEGROUP:
13501 case IMMEDIATE:
13502 case NO_WAIT:
13503 case TARGET_RECOVERY_TIME:
13504 case SECONDS:
13505 case HONOR_BROKER_PRIORITY:
13506 case ERROR_BROKER_CONVERSATIONS:
13507 case NEW_BROKER:
13508 case DISABLE_BROKER:
13509 case ENABLE_BROKER:
13510 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
13511 case READ_COMMITTED_SNAPSHOT:
13512 case ALLOW_SNAPSHOT_ISOLATION:
13513 case RECURSIVE_TRIGGERS:
13514 case QUOTED_IDENTIFIER:
13515 case NUMERIC_ROUNDABORT:
13516 case CONCAT_NULL_YIELDS_NULL:
13517 case COMPATIBILITY_LEVEL:
13518 case ARITHABORT:
13519 case ANSI_WARNINGS:
13520 case ANSI_PADDING:
13521 case ANSI_NULLS:
13522 case ANSI_NULL_DEFAULT:
13523 case PAGE_VERIFY:
13524 case CHECKSUM:
13525 case TORN_PAGE_DETECTION:
13526 case BULK_LOGGED:
13527 case RECOVERY:
13528 case TOTAL_EXECUTION_CPU_TIME_MS:
13529 case TOTAL_COMPILE_CPU_TIME_MS:
13530 case STALE_CAPTURE_POLICY_THRESHOLD:
13531 case EXECUTION_COUNT:
13532 case QUERY_CAPTURE_POLICY:
13533 case WAIT_STATS_CAPTURE_MODE:
13534 case MAX_PLANS_PER_QUERY:
13535 case QUERY_CAPTURE_MODE:
13536 case SIZE_BASED_CLEANUP_MODE:
13537 case INTERVAL_LENGTH_MINUTES:
13538 case MAX_STORAGE_SIZE_MB:
13539 case DATA_FLUSH_INTERVAL_SECONDS:
13540 case CLEANUP_POLICY:
13541 case CUSTOM:
13542 case STALE_QUERY_THRESHOLD_DAYS:
13543 case OPERATION_MODE:
13544 case QUERY_STORE:
13545 case CURSOR_DEFAULT:
13546 case GLOBAL:
13547 case CURSOR_CLOSE_ON_COMMIT:
13548 case HOURS:
13549 case CHANGE_RETENTION:
13550 case AUTO_CLEANUP:
13551 case CHANGE_TRACKING:
13552 case AUTOMATIC_TUNING:
13553 case FORCE_LAST_GOOD_PLAN:
13554 case AUTO_UPDATE_STATISTICS_ASYNC:
13555 case AUTO_UPDATE_STATISTICS:
13556 case AUTO_SHRINK:
13557 case AUTO_CREATE_STATISTICS:
13558 case INCREMENTAL:
13559 case AUTO_CLOSE:
13560 case DATA_RETENTION:
13561 case TEMPORAL_HISTORY_RETENTION:
13562 case EDITION:
13563 case MIXED_PAGE_ALLOCATION:
13564 case DISABLED:
13565 case ALLOWED:
13566 case HADR:
13567 case MULTI_USER:
13568 case RESTRICTED_USER:
13569 case SINGLE_USER:
13570 case OFFLINE:
13571 case EMERGENCY:
13572 case SUSPEND:
13573 case DATE_CORRELATION_OPTIMIZATION:
13574 case ELASTIC_POOL:
13575 case SERVICE_OBJECTIVE:
13576 case DATABASE_NAME:
13577 case ALLOW_CONNECTIONS:
13578 case GEO:
13579 case NAMED:
13580 case DATEFIRST:
13581 case BACKUP_STORAGE_REDUNDANCY:
13582 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
13583 case SECONDARY:
13584 case FAILOVER:
13585 case DEFAULT_FULLTEXT_LANGUAGE:
13586 case DEFAULT_LANGUAGE:
13587 case INLINE:
13588 case NESTED_TRIGGERS:
13589 case TRANSFORM_NOISE_WORDS:
13590 case TWO_DIGIT_YEAR_CUTOFF:
13591 case PERSISTENT_LOG_BUFFER:
13592 case DIRECTORY_NAME:
13593 case DATEFORMAT:
13594 case DELAYED_DURABILITY:
13595 case AUTHORIZATION:
13596 case TRANSFER:
13597 case PROVIDER:
13598 case SEARCH:
13599 case MEMBER:
13600 case IDENTIFIER_:
13601 case DELIMITED_IDENTIFIER_:
13602 {
13603 setState(2198);
13604 indexName();
13605 }
13606 break;
13607 case ALL:
13608 {
13609 setState(2199);
13610 match(ALL);
13611 }
13612 break;
13613 default:
13614 throw new NoViableAltException(this);
13615 }
13616 setState(2202);
13617 match(ON);
13618 setState(2203);
13619 tableName();
13620 setState(2204);
13621 alterIndexClause();
13622 }
13623 }
13624 catch (RecognitionException re) {
13625 _localctx.exception = re;
13626 _errHandler.reportError(this, re);
13627 _errHandler.recover(this, re);
13628 }
13629 finally {
13630 exitRule();
13631 }
13632 return _localctx;
13633 }
13634
13635 public static class AlterDatabaseContext extends ParserRuleContext {
13636 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13637 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
13638 public DatabaseNameContext databaseName() {
13639 return getRuleContext(DatabaseNameContext.class,0);
13640 }
13641 public TerminalNode CURRENT() { return getToken(SQLServerStatementParser.CURRENT, 0); }
13642 public List<AlterDatabaseClauseContext> alterDatabaseClause() {
13643 return getRuleContexts(AlterDatabaseClauseContext.class);
13644 }
13645 public AlterDatabaseClauseContext alterDatabaseClause(int i) {
13646 return getRuleContext(AlterDatabaseClauseContext.class,i);
13647 }
13648 public AlterDatabaseContext(ParserRuleContext parent, int invokingState) {
13649 super(parent, invokingState);
13650 }
13651 @Override public int getRuleIndex() { return RULE_alterDatabase; }
13652 @Override
13653 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13654 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDatabase(this);
13655 else return visitor.visitChildren(this);
13656 }
13657 }
13658
13659 public final AlterDatabaseContext alterDatabase() throws RecognitionException {
13660 AlterDatabaseContext _localctx = new AlterDatabaseContext(_ctx, getState());
13661 enterRule(_localctx, 284, RULE_alterDatabase);
13662 int _la;
13663 try {
13664 enterOuterAlt(_localctx, 1);
13665 {
13666 setState(2206);
13667 match(ALTER);
13668 setState(2207);
13669 match(DATABASE);
13670 setState(2210);
13671 _errHandler.sync(this);
13672 switch (_input.LA(1)) {
13673 case TRUNCATE:
13674 case SCHEMA:
13675 case COLUMNS:
13676 case PRECISION:
13677 case FUNCTION:
13678 case TRIGGER:
13679 case CAST:
13680 case TRIM:
13681 case SUBSTRING:
13682 case OFF:
13683 case GROUP:
13684 case LIMIT:
13685 case OFFSET:
13686 case SAVEPOINT:
13687 case BOOLEAN:
13688 case ARRAY:
13689 case DATE:
13690 case TIMESTAMP:
13691 case LOCALTIME:
13692 case LOCALTIMESTAMP:
13693 case YEAR:
13694 case QUARTER:
13695 case MONTH:
13696 case WEEK:
13697 case DAY:
13698 case SECOND:
13699 case MICROSECOND:
13700 case MAX:
13701 case MIN:
13702 case SUM:
13703 case COUNT:
13704 case AVG:
13705 case ENABLE:
13706 case DISABLE:
13707 case INSTANCE:
13708 case DO:
13709 case DEFINER:
13710 case SQL:
13711 case CASCADED:
13712 case LOCAL:
13713 case NEXT:
13714 case NAME:
13715 case INTEGER:
13716 case TYPE:
13717 case TEXT:
13718 case VIEWS:
13719 case READ_ONLY:
13720 case DATABASE:
13721 case RETURNS:
13722 case DATEPART:
13723 case PASSWORD:
13724 case BINARY:
13725 case HIDDEN_:
13726 case MOD:
13727 case PARTITION:
13728 case PARTITIONS:
13729 case TOP:
13730 case ROW:
13731 case ROWS:
13732 case XOR:
13733 case ALWAYS:
13734 case ROLE:
13735 case START:
13736 case ALGORITHM:
13737 case AUTO:
13738 case BLOCKERS:
13739 case CLUSTERED:
13740 case NONCLUSTERED:
13741 case COLUMNSTORE:
13742 case CONTENT:
13743 case YEARS:
13744 case MONTHS:
13745 case WEEKS:
13746 case DAYS:
13747 case MINUTES:
13748 case DENY:
13749 case DETERMINISTIC:
13750 case DISTRIBUTION:
13751 case DOCUMENT:
13752 case DURABILITY:
13753 case ENCRYPTED:
13754 case FILESTREAM:
13755 case FILETABLE:
13756 case FILLFACTOR:
13757 case FOLLOWING:
13758 case HASH:
13759 case HEAP:
13760 case INBOUND:
13761 case OUTBOUND:
13762 case UNBOUNDED:
13763 case INFINITE:
13764 case LOGIN:
13765 case MASKED:
13766 case MAXDOP:
13767 case MOVE:
13768 case NOCHECK:
13769 case OBJECT:
13770 case ONLINE:
13771 case OVER:
13772 case PAGE:
13773 case PAUSED:
13774 case PERIOD:
13775 case PERSISTED:
13776 case PRECEDING:
13777 case RANDOMIZED:
13778 case RANGE:
13779 case REBUILD:
13780 case REPLICATE:
13781 case REPLICATION:
13782 case RESUMABLE:
13783 case ROWGUIDCOL:
13784 case SAVE:
13785 case SELF:
13786 case SPARSE:
13787 case SWITCH:
13788 case TRAN:
13789 case TRANCOUNT:
13790 case CONTROL:
13791 case CONCAT:
13792 case TAKE:
13793 case OWNERSHIP:
13794 case DEFINITION:
13795 case APPLICATION:
13796 case ASSEMBLY:
13797 case SYMMETRIC:
13798 case ASYMMETRIC:
13799 case SERVER:
13800 case RECEIVE:
13801 case CHANGE:
13802 case TRACE:
13803 case TRACKING:
13804 case RESOURCES:
13805 case SETTINGS:
13806 case STATE:
13807 case AVAILABILITY:
13808 case CREDENTIAL:
13809 case ENDPOINT:
13810 case EVENT:
13811 case NOTIFICATION:
13812 case LINKED:
13813 case AUDIT:
13814 case DDL:
13815 case XML:
13816 case IMPERSONATE:
13817 case SECURABLES:
13818 case AUTHENTICATE:
13819 case EXTERNAL:
13820 case ACCESS:
13821 case ADMINISTER:
13822 case BULK:
13823 case OPERATIONS:
13824 case UNSAFE:
13825 case SHUTDOWN:
13826 case SCOPED:
13827 case CONFIGURATION:
13828 case DATASPACE:
13829 case SERVICE:
13830 case CERTIFICATE:
13831 case CONTRACT:
13832 case ENCRYPTION:
13833 case MASTER:
13834 case DATA:
13835 case SOURCE:
13836 case FILE:
13837 case FORMAT:
13838 case LIBRARY:
13839 case FULLTEXT:
13840 case MASK:
13841 case UNMASK:
13842 case MESSAGE:
13843 case REMOTE:
13844 case BINDING:
13845 case ROUTE:
13846 case SECURITY:
13847 case POLICY:
13848 case AGGREGATE:
13849 case QUEUE:
13850 case RULE:
13851 case SYNONYM:
13852 case COLLECTION:
13853 case SCRIPT:
13854 case KILL:
13855 case BACKUP:
13856 case LOG:
13857 case SHOWPLAN:
13858 case SUBSCRIBE:
13859 case QUERY:
13860 case NOTIFICATIONS:
13861 case CHECKPOINT:
13862 case SEQUENCE:
13863 case ABORT_AFTER_WAIT:
13864 case ALLOW_PAGE_LOCKS:
13865 case ALLOW_ROW_LOCKS:
13866 case ALL_SPARSE_COLUMNS:
13867 case BUCKET_COUNT:
13868 case COLUMNSTORE_ARCHIVE:
13869 case COLUMN_ENCRYPTION_KEY:
13870 case COLUMN_SET:
13871 case COMPRESSION_DELAY:
13872 case DATABASE_DEAULT:
13873 case DATA_COMPRESSION:
13874 case DATA_CONSISTENCY_CHECK:
13875 case ENCRYPTION_TYPE:
13876 case SYSTEM_TIME:
13877 case SYSTEM_VERSIONING:
13878 case TEXTIMAGE_ON:
13879 case WAIT_AT_LOW_PRIORITY:
13880 case STATISTICS_INCREMENTAL:
13881 case STATISTICS_NORECOMPUTE:
13882 case ROUND_ROBIN:
13883 case SCHEMA_AND_DATA:
13884 case SCHEMA_ONLY:
13885 case SORT_IN_TEMPDB:
13886 case IGNORE_DUP_KEY:
13887 case IMPLICIT_TRANSACTIONS:
13888 case MAX_DURATION:
13889 case MEMORY_OPTIMIZED:
13890 case MIGRATION_STATE:
13891 case PAD_INDEX:
13892 case REMOTE_DATA_ARCHIVE:
13893 case FILESTREAM_ON:
13894 case FILETABLE_COLLATE_FILENAME:
13895 case FILETABLE_DIRECTORY:
13896 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
13897 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
13898 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
13899 case FILTER_PREDICATE:
13900 case HISTORY_RETENTION_PERIOD:
13901 case HISTORY_TABLE:
13902 case LOCK_ESCALATION:
13903 case DROP_EXISTING:
13904 case ROW_NUMBER:
13905 case FIRST:
13906 case DATETIME2:
13907 case OUTPUT:
13908 case INSERTED:
13909 case DELETED:
13910 case FILENAME:
13911 case SIZE:
13912 case MAXSIZE:
13913 case FILEGROWTH:
13914 case UNLIMITED:
13915 case KB:
13916 case MB:
13917 case GB:
13918 case TB:
13919 case CONTAINS:
13920 case MEMORY_OPTIMIZED_DATA:
13921 case FILEGROUP:
13922 case NON_TRANSACTED_ACCESS:
13923 case DB_CHAINING:
13924 case TRUSTWORTHY:
13925 case FORWARD_ONLY:
13926 case KEYSET:
13927 case FAST_FORWARD:
13928 case SCROLL_LOCKS:
13929 case OPTIMISTIC:
13930 case TYPE_WARNING:
13931 case SCHEMABINDING:
13932 case CALLER:
13933 case INPUT:
13934 case OWNER:
13935 case SNAPSHOT:
13936 case REPEATABLE:
13937 case SERIALIZABLE:
13938 case NATIVE_COMPILATION:
13939 case VIEW_METADATA:
13940 case INSTEAD:
13941 case APPEND:
13942 case INCREMENT:
13943 case CACHE:
13944 case MINVALUE:
13945 case MAXVALUE:
13946 case RESTART:
13947 case LOB_COMPACTION:
13948 case COMPRESS_ALL_ROW_GROUPS:
13949 case REORGANIZE:
13950 case RESUME:
13951 case PAUSE:
13952 case ABORT:
13953 case ACCELERATED_DATABASE_RECOVERY:
13954 case PERSISTENT_VERSION_STORE_FILEGROUP:
13955 case IMMEDIATE:
13956 case NO_WAIT:
13957 case TARGET_RECOVERY_TIME:
13958 case SECONDS:
13959 case HONOR_BROKER_PRIORITY:
13960 case ERROR_BROKER_CONVERSATIONS:
13961 case NEW_BROKER:
13962 case DISABLE_BROKER:
13963 case ENABLE_BROKER:
13964 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
13965 case READ_COMMITTED_SNAPSHOT:
13966 case ALLOW_SNAPSHOT_ISOLATION:
13967 case RECURSIVE_TRIGGERS:
13968 case QUOTED_IDENTIFIER:
13969 case NUMERIC_ROUNDABORT:
13970 case CONCAT_NULL_YIELDS_NULL:
13971 case COMPATIBILITY_LEVEL:
13972 case ARITHABORT:
13973 case ANSI_WARNINGS:
13974 case ANSI_PADDING:
13975 case ANSI_NULLS:
13976 case ANSI_NULL_DEFAULT:
13977 case PAGE_VERIFY:
13978 case CHECKSUM:
13979 case TORN_PAGE_DETECTION:
13980 case BULK_LOGGED:
13981 case RECOVERY:
13982 case TOTAL_EXECUTION_CPU_TIME_MS:
13983 case TOTAL_COMPILE_CPU_TIME_MS:
13984 case STALE_CAPTURE_POLICY_THRESHOLD:
13985 case EXECUTION_COUNT:
13986 case QUERY_CAPTURE_POLICY:
13987 case WAIT_STATS_CAPTURE_MODE:
13988 case MAX_PLANS_PER_QUERY:
13989 case QUERY_CAPTURE_MODE:
13990 case SIZE_BASED_CLEANUP_MODE:
13991 case INTERVAL_LENGTH_MINUTES:
13992 case MAX_STORAGE_SIZE_MB:
13993 case DATA_FLUSH_INTERVAL_SECONDS:
13994 case CLEANUP_POLICY:
13995 case CUSTOM:
13996 case STALE_QUERY_THRESHOLD_DAYS:
13997 case OPERATION_MODE:
13998 case QUERY_STORE:
13999 case CURSOR_DEFAULT:
14000 case GLOBAL:
14001 case CURSOR_CLOSE_ON_COMMIT:
14002 case HOURS:
14003 case CHANGE_RETENTION:
14004 case AUTO_CLEANUP:
14005 case CHANGE_TRACKING:
14006 case AUTOMATIC_TUNING:
14007 case FORCE_LAST_GOOD_PLAN:
14008 case AUTO_UPDATE_STATISTICS_ASYNC:
14009 case AUTO_UPDATE_STATISTICS:
14010 case AUTO_SHRINK:
14011 case AUTO_CREATE_STATISTICS:
14012 case INCREMENTAL:
14013 case AUTO_CLOSE:
14014 case DATA_RETENTION:
14015 case TEMPORAL_HISTORY_RETENTION:
14016 case EDITION:
14017 case MIXED_PAGE_ALLOCATION:
14018 case DISABLED:
14019 case ALLOWED:
14020 case HADR:
14021 case MULTI_USER:
14022 case RESTRICTED_USER:
14023 case SINGLE_USER:
14024 case OFFLINE:
14025 case EMERGENCY:
14026 case SUSPEND:
14027 case DATE_CORRELATION_OPTIMIZATION:
14028 case ELASTIC_POOL:
14029 case SERVICE_OBJECTIVE:
14030 case DATABASE_NAME:
14031 case ALLOW_CONNECTIONS:
14032 case GEO:
14033 case NAMED:
14034 case DATEFIRST:
14035 case BACKUP_STORAGE_REDUNDANCY:
14036 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
14037 case SECONDARY:
14038 case FAILOVER:
14039 case DEFAULT_FULLTEXT_LANGUAGE:
14040 case DEFAULT_LANGUAGE:
14041 case INLINE:
14042 case NESTED_TRIGGERS:
14043 case TRANSFORM_NOISE_WORDS:
14044 case TWO_DIGIT_YEAR_CUTOFF:
14045 case PERSISTENT_LOG_BUFFER:
14046 case DIRECTORY_NAME:
14047 case DATEFORMAT:
14048 case DELAYED_DURABILITY:
14049 case AUTHORIZATION:
14050 case TRANSFER:
14051 case PROVIDER:
14052 case SEARCH:
14053 case MEMBER:
14054 case IDENTIFIER_:
14055 case DELIMITED_IDENTIFIER_:
14056 {
14057 setState(2208);
14058 databaseName();
14059 }
14060 break;
14061 case CURRENT:
14062 {
14063 setState(2209);
14064 match(CURRENT);
14065 }
14066 break;
14067 default:
14068 throw new NoViableAltException(this);
14069 }
14070 setState(2215);
14071 _errHandler.sync(this);
14072 _la = _input.LA(1);
14073 while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP_) | (1L << ADD) | (1L << SET))) != 0) || ((((_la - 154)) & ~0x3f) == 0 && ((1L << (_la - 154)) & ((1L << (DEFAULT - 154)) | (1L << (NAME - 154)) | (1L << (READ_ONLY - 154)) | (1L << (READONLY - 154)))) != 0) || _la==COLLATE || ((((_la - 564)) & ~0x3f) == 0 && ((1L << (_la - 564)) & ((1L << (REMOVE - 564)) | (1L << (AUTOGROW_SINGLE_FILE - 564)) | (1L << (AUTOGROW_ALL_FILES - 564)) | (1L << (READWRITE - 564)) | (1L << (READ_WRITE - 564)) | (1L << (MODIFY - 564)))) != 0) || _la==FORCE_FAILOVER_ALLOW_DATA_LOSS || _la==FAILOVER) {
14074 {
14075 {
14076 setState(2212);
14077 alterDatabaseClause();
14078 }
14079 }
14080 setState(2217);
14081 _errHandler.sync(this);
14082 _la = _input.LA(1);
14083 }
14084 }
14085 }
14086 catch (RecognitionException re) {
14087 _localctx.exception = re;
14088 _errHandler.reportError(this, re);
14089 _errHandler.recover(this, re);
14090 }
14091 finally {
14092 exitRule();
14093 }
14094 return _localctx;
14095 }
14096
14097 public static class AlterProcedureContext extends ParserRuleContext {
14098 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
14099 public ProcedureNameContext procedureName() {
14100 return getRuleContext(ProcedureNameContext.class,0);
14101 }
14102 public ProcParametersContext procParameters() {
14103 return getRuleContext(ProcParametersContext.class,0);
14104 }
14105 public CreateOrAlterProcClauseContext createOrAlterProcClause() {
14106 return getRuleContext(CreateOrAlterProcClauseContext.class,0);
14107 }
14108 public TerminalNode PROC() { return getToken(SQLServerStatementParser.PROC, 0); }
14109 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
14110 public AlterProcedureContext(ParserRuleContext parent, int invokingState) {
14111 super(parent, invokingState);
14112 }
14113 @Override public int getRuleIndex() { return RULE_alterProcedure; }
14114 @Override
14115 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14116 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterProcedure(this);
14117 else return visitor.visitChildren(this);
14118 }
14119 }
14120
14121 public final AlterProcedureContext alterProcedure() throws RecognitionException {
14122 AlterProcedureContext _localctx = new AlterProcedureContext(_ctx, getState());
14123 enterRule(_localctx, 286, RULE_alterProcedure);
14124 int _la;
14125 try {
14126 enterOuterAlt(_localctx, 1);
14127 {
14128 setState(2218);
14129 match(ALTER);
14130 setState(2219);
14131 _la = _input.LA(1);
14132 if ( !(_la==PROCEDURE || _la==PROC) ) {
14133 _errHandler.recoverInline(this);
14134 }
14135 else {
14136 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
14137 _errHandler.reportMatch(this);
14138 consume();
14139 }
14140 setState(2220);
14141 procedureName();
14142 setState(2221);
14143 procParameters();
14144 setState(2222);
14145 createOrAlterProcClause();
14146 }
14147 }
14148 catch (RecognitionException re) {
14149 _localctx.exception = re;
14150 _errHandler.reportError(this, re);
14151 _errHandler.recover(this, re);
14152 }
14153 finally {
14154 exitRule();
14155 }
14156 return _localctx;
14157 }
14158
14159 public static class AlterFunctionContext extends ParserRuleContext {
14160 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
14161 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
14162 public FunctionNameContext functionName() {
14163 return getRuleContext(FunctionNameContext.class,0);
14164 }
14165 public FuncParametersContext funcParameters() {
14166 return getRuleContext(FuncParametersContext.class,0);
14167 }
14168 public FuncReturnsContext funcReturns() {
14169 return getRuleContext(FuncReturnsContext.class,0);
14170 }
14171 public AlterFunctionContext(ParserRuleContext parent, int invokingState) {
14172 super(parent, invokingState);
14173 }
14174 @Override public int getRuleIndex() { return RULE_alterFunction; }
14175 @Override
14176 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14177 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterFunction(this);
14178 else return visitor.visitChildren(this);
14179 }
14180 }
14181
14182 public final AlterFunctionContext alterFunction() throws RecognitionException {
14183 AlterFunctionContext _localctx = new AlterFunctionContext(_ctx, getState());
14184 enterRule(_localctx, 288, RULE_alterFunction);
14185 try {
14186 enterOuterAlt(_localctx, 1);
14187 {
14188 setState(2224);
14189 match(ALTER);
14190 setState(2225);
14191 match(FUNCTION);
14192 setState(2226);
14193 functionName();
14194 setState(2227);
14195 funcParameters();
14196 setState(2228);
14197 funcReturns();
14198 }
14199 }
14200 catch (RecognitionException re) {
14201 _localctx.exception = re;
14202 _errHandler.reportError(this, re);
14203 _errHandler.recover(this, re);
14204 }
14205 finally {
14206 exitRule();
14207 }
14208 return _localctx;
14209 }
14210
14211 public static class AlterViewContext extends ParserRuleContext {
14212 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
14213 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
14214 public ViewNameContext viewName() {
14215 return getRuleContext(ViewNameContext.class,0);
14216 }
14217 public CreateOrAlterViewClauseContext createOrAlterViewClause() {
14218 return getRuleContext(CreateOrAlterViewClauseContext.class,0);
14219 }
14220 public AlterViewContext(ParserRuleContext parent, int invokingState) {
14221 super(parent, invokingState);
14222 }
14223 @Override public int getRuleIndex() { return RULE_alterView; }
14224 @Override
14225 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14226 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterView(this);
14227 else return visitor.visitChildren(this);
14228 }
14229 }
14230
14231 public final AlterViewContext alterView() throws RecognitionException {
14232 AlterViewContext _localctx = new AlterViewContext(_ctx, getState());
14233 enterRule(_localctx, 290, RULE_alterView);
14234 try {
14235 enterOuterAlt(_localctx, 1);
14236 {
14237 setState(2230);
14238 match(ALTER);
14239 setState(2231);
14240 match(VIEW);
14241 setState(2232);
14242 viewName();
14243 setState(2233);
14244 createOrAlterViewClause();
14245 }
14246 }
14247 catch (RecognitionException re) {
14248 _localctx.exception = re;
14249 _errHandler.reportError(this, re);
14250 _errHandler.recover(this, re);
14251 }
14252 finally {
14253 exitRule();
14254 }
14255 return _localctx;
14256 }
14257
14258 public static class AlterTriggerContext extends ParserRuleContext {
14259 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
14260 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
14261 public TriggerNameContext triggerName() {
14262 return getRuleContext(TriggerNameContext.class,0);
14263 }
14264 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
14265 public TriggerTargetContext triggerTarget() {
14266 return getRuleContext(TriggerTargetContext.class,0);
14267 }
14268 public CreateTriggerClauseContext createTriggerClause() {
14269 return getRuleContext(CreateTriggerClauseContext.class,0);
14270 }
14271 public AlterTriggerContext(ParserRuleContext parent, int invokingState) {
14272 super(parent, invokingState);
14273 }
14274 @Override public int getRuleIndex() { return RULE_alterTrigger; }
14275 @Override
14276 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14277 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTrigger(this);
14278 else return visitor.visitChildren(this);
14279 }
14280 }
14281
14282 public final AlterTriggerContext alterTrigger() throws RecognitionException {
14283 AlterTriggerContext _localctx = new AlterTriggerContext(_ctx, getState());
14284 enterRule(_localctx, 292, RULE_alterTrigger);
14285 try {
14286 enterOuterAlt(_localctx, 1);
14287 {
14288 setState(2235);
14289 match(ALTER);
14290 setState(2236);
14291 match(TRIGGER);
14292 setState(2237);
14293 triggerName();
14294 setState(2238);
14295 match(ON);
14296 setState(2239);
14297 triggerTarget();
14298 setState(2240);
14299 createTriggerClause();
14300 }
14301 }
14302 catch (RecognitionException re) {
14303 _localctx.exception = re;
14304 _errHandler.reportError(this, re);
14305 _errHandler.recover(this, re);
14306 }
14307 finally {
14308 exitRule();
14309 }
14310 return _localctx;
14311 }
14312
14313 public static class AlterSequenceContext extends ParserRuleContext {
14314 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
14315 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
14316 public SequenceNameContext sequenceName() {
14317 return getRuleContext(SequenceNameContext.class,0);
14318 }
14319 public List<CreateOrAlterSequenceClauseContext> createOrAlterSequenceClause() {
14320 return getRuleContexts(CreateOrAlterSequenceClauseContext.class);
14321 }
14322 public CreateOrAlterSequenceClauseContext createOrAlterSequenceClause(int i) {
14323 return getRuleContext(CreateOrAlterSequenceClauseContext.class,i);
14324 }
14325 public AlterSequenceContext(ParserRuleContext parent, int invokingState) {
14326 super(parent, invokingState);
14327 }
14328 @Override public int getRuleIndex() { return RULE_alterSequence; }
14329 @Override
14330 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14331 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSequence(this);
14332 else return visitor.visitChildren(this);
14333 }
14334 }
14335
14336 public final AlterSequenceContext alterSequence() throws RecognitionException {
14337 AlterSequenceContext _localctx = new AlterSequenceContext(_ctx, getState());
14338 enterRule(_localctx, 294, RULE_alterSequence);
14339 int _la;
14340 try {
14341 enterOuterAlt(_localctx, 1);
14342 {
14343 setState(2242);
14344 match(ALTER);
14345 setState(2243);
14346 match(SEQUENCE);
14347 setState(2244);
14348 sequenceName();
14349 setState(2248);
14350 _errHandler.sync(this);
14351 _la = _input.LA(1);
14352 while (_la==AS || _la==NO || _la==START || ((((_la - 548)) & ~0x3f) == 0 && ((1L << (_la - 548)) & ((1L << (INCREMENT - 548)) | (1L << (CYCLE - 548)) | (1L << (CACHE - 548)) | (1L << (MINVALUE - 548)) | (1L << (MAXVALUE - 548)) | (1L << (RESTART - 548)))) != 0)) {
14353 {
14354 {
14355 setState(2245);
14356 createOrAlterSequenceClause();
14357 }
14358 }
14359 setState(2250);
14360 _errHandler.sync(this);
14361 _la = _input.LA(1);
14362 }
14363 }
14364 }
14365 catch (RecognitionException re) {
14366 _localctx.exception = re;
14367 _errHandler.reportError(this, re);
14368 _errHandler.recover(this, re);
14369 }
14370 finally {
14371 exitRule();
14372 }
14373 return _localctx;
14374 }
14375
14376 public static class AlterServiceContext extends ParserRuleContext {
14377 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
14378 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
14379 public ServiceNameContext serviceName() {
14380 return getRuleContext(ServiceNameContext.class,0);
14381 }
14382 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
14383 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
14384 public QueueNameContext queueName() {
14385 return getRuleContext(QueueNameContext.class,0);
14386 }
14387 public AlterServiceClauseContext alterServiceClause() {
14388 return getRuleContext(AlterServiceClauseContext.class,0);
14389 }
14390 public AlterServiceContext(ParserRuleContext parent, int invokingState) {
14391 super(parent, invokingState);
14392 }
14393 @Override public int getRuleIndex() { return RULE_alterService; }
14394 @Override
14395 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14396 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterService(this);
14397 else return visitor.visitChildren(this);
14398 }
14399 }
14400
14401 public final AlterServiceContext alterService() throws RecognitionException {
14402 AlterServiceContext _localctx = new AlterServiceContext(_ctx, getState());
14403 enterRule(_localctx, 296, RULE_alterService);
14404 int _la;
14405 try {
14406 enterOuterAlt(_localctx, 1);
14407 {
14408 setState(2251);
14409 match(ALTER);
14410 setState(2252);
14411 match(SERVICE);
14412 setState(2253);
14413 serviceName();
14414 setState(2257);
14415 _errHandler.sync(this);
14416 _la = _input.LA(1);
14417 if (_la==ON) {
14418 {
14419 setState(2254);
14420 match(ON);
14421 setState(2255);
14422 match(QUEUE);
14423 setState(2256);
14424 queueName();
14425 }
14426 }
14427
14428 setState(2260);
14429 _errHandler.sync(this);
14430 _la = _input.LA(1);
14431 if (_la==LP_) {
14432 {
14433 setState(2259);
14434 alterServiceClause();
14435 }
14436 }
14437
14438 }
14439 }
14440 catch (RecognitionException re) {
14441 _localctx.exception = re;
14442 _errHandler.reportError(this, re);
14443 _errHandler.recover(this, re);
14444 }
14445 finally {
14446 exitRule();
14447 }
14448 return _localctx;
14449 }
14450
14451 public static class AlterSchemaContext extends ParserRuleContext {
14452 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
14453 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
14454 public SchemaNameContext schemaName() {
14455 return getRuleContext(SchemaNameContext.class,0);
14456 }
14457 public TerminalNode TRANSFER() { return getToken(SQLServerStatementParser.TRANSFER, 0); }
14458 public IgnoredIdentifierContext ignoredIdentifier() {
14459 return getRuleContext(IgnoredIdentifierContext.class,0);
14460 }
14461 public Class_Context class_() {
14462 return getRuleContext(Class_Context.class,0);
14463 }
14464 public AlterSchemaContext(ParserRuleContext parent, int invokingState) {
14465 super(parent, invokingState);
14466 }
14467 @Override public int getRuleIndex() { return RULE_alterSchema; }
14468 @Override
14469 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14470 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSchema(this);
14471 else return visitor.visitChildren(this);
14472 }
14473 }
14474
14475 public final AlterSchemaContext alterSchema() throws RecognitionException {
14476 AlterSchemaContext _localctx = new AlterSchemaContext(_ctx, getState());
14477 enterRule(_localctx, 298, RULE_alterSchema);
14478 try {
14479 enterOuterAlt(_localctx, 1);
14480 {
14481 setState(2262);
14482 match(ALTER);
14483 setState(2263);
14484 match(SCHEMA);
14485 setState(2264);
14486 schemaName();
14487 setState(2265);
14488 match(TRANSFER);
14489 setState(2267);
14490 _errHandler.sync(this);
14491 switch ( getInterpreter().adaptivePredict(_input,147,_ctx) ) {
14492 case 1:
14493 {
14494 setState(2266);
14495 class_();
14496 }
14497 break;
14498 }
14499 setState(2269);
14500 ignoredIdentifier();
14501 }
14502 }
14503 catch (RecognitionException re) {
14504 _localctx.exception = re;
14505 _errHandler.reportError(this, re);
14506 _errHandler.recover(this, re);
14507 }
14508 finally {
14509 exitRule();
14510 }
14511 return _localctx;
14512 }
14513
14514 public static class DropTableContext extends ParserRuleContext {
14515 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14516 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
14517 public TableNamesContext tableNames() {
14518 return getRuleContext(TableNamesContext.class,0);
14519 }
14520 public IfExistsContext ifExists() {
14521 return getRuleContext(IfExistsContext.class,0);
14522 }
14523 public DropTableContext(ParserRuleContext parent, int invokingState) {
14524 super(parent, invokingState);
14525 }
14526 @Override public int getRuleIndex() { return RULE_dropTable; }
14527 @Override
14528 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14529 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropTable(this);
14530 else return visitor.visitChildren(this);
14531 }
14532 }
14533
14534 public final DropTableContext dropTable() throws RecognitionException {
14535 DropTableContext _localctx = new DropTableContext(_ctx, getState());
14536 enterRule(_localctx, 300, RULE_dropTable);
14537 int _la;
14538 try {
14539 enterOuterAlt(_localctx, 1);
14540 {
14541 setState(2271);
14542 match(DROP);
14543 setState(2272);
14544 match(TABLE);
14545 setState(2274);
14546 _errHandler.sync(this);
14547 _la = _input.LA(1);
14548 if (_la==IF) {
14549 {
14550 setState(2273);
14551 ifExists();
14552 }
14553 }
14554
14555 setState(2276);
14556 tableNames();
14557 }
14558 }
14559 catch (RecognitionException re) {
14560 _localctx.exception = re;
14561 _errHandler.reportError(this, re);
14562 _errHandler.recover(this, re);
14563 }
14564 finally {
14565 exitRule();
14566 }
14567 return _localctx;
14568 }
14569
14570 public static class DropIndexContext extends ParserRuleContext {
14571 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14572 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
14573 public IndexNameContext indexName() {
14574 return getRuleContext(IndexNameContext.class,0);
14575 }
14576 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
14577 public TableNameContext tableName() {
14578 return getRuleContext(TableNameContext.class,0);
14579 }
14580 public IfExistsContext ifExists() {
14581 return getRuleContext(IfExistsContext.class,0);
14582 }
14583 public DropIndexContext(ParserRuleContext parent, int invokingState) {
14584 super(parent, invokingState);
14585 }
14586 @Override public int getRuleIndex() { return RULE_dropIndex; }
14587 @Override
14588 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14589 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropIndex(this);
14590 else return visitor.visitChildren(this);
14591 }
14592 }
14593
14594 public final DropIndexContext dropIndex() throws RecognitionException {
14595 DropIndexContext _localctx = new DropIndexContext(_ctx, getState());
14596 enterRule(_localctx, 302, RULE_dropIndex);
14597 int _la;
14598 try {
14599 enterOuterAlt(_localctx, 1);
14600 {
14601 setState(2278);
14602 match(DROP);
14603 setState(2279);
14604 match(INDEX);
14605 setState(2281);
14606 _errHandler.sync(this);
14607 _la = _input.LA(1);
14608 if (_la==IF) {
14609 {
14610 setState(2280);
14611 ifExists();
14612 }
14613 }
14614
14615 setState(2283);
14616 indexName();
14617 setState(2284);
14618 match(ON);
14619 setState(2285);
14620 tableName();
14621 }
14622 }
14623 catch (RecognitionException re) {
14624 _localctx.exception = re;
14625 _errHandler.reportError(this, re);
14626 _errHandler.recover(this, re);
14627 }
14628 finally {
14629 exitRule();
14630 }
14631 return _localctx;
14632 }
14633
14634 public static class DropDatabaseContext extends ParserRuleContext {
14635 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14636 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
14637 public List<DatabaseNameContext> databaseName() {
14638 return getRuleContexts(DatabaseNameContext.class);
14639 }
14640 public DatabaseNameContext databaseName(int i) {
14641 return getRuleContext(DatabaseNameContext.class,i);
14642 }
14643 public IfExistsContext ifExists() {
14644 return getRuleContext(IfExistsContext.class,0);
14645 }
14646 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14647 public TerminalNode COMMA_(int i) {
14648 return getToken(SQLServerStatementParser.COMMA_, i);
14649 }
14650 public DropDatabaseContext(ParserRuleContext parent, int invokingState) {
14651 super(parent, invokingState);
14652 }
14653 @Override public int getRuleIndex() { return RULE_dropDatabase; }
14654 @Override
14655 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14656 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropDatabase(this);
14657 else return visitor.visitChildren(this);
14658 }
14659 }
14660
14661 public final DropDatabaseContext dropDatabase() throws RecognitionException {
14662 DropDatabaseContext _localctx = new DropDatabaseContext(_ctx, getState());
14663 enterRule(_localctx, 304, RULE_dropDatabase);
14664 int _la;
14665 try {
14666 enterOuterAlt(_localctx, 1);
14667 {
14668 setState(2287);
14669 match(DROP);
14670 setState(2288);
14671 match(DATABASE);
14672 setState(2290);
14673 _errHandler.sync(this);
14674 _la = _input.LA(1);
14675 if (_la==IF) {
14676 {
14677 setState(2289);
14678 ifExists();
14679 }
14680 }
14681
14682 setState(2292);
14683 databaseName();
14684 setState(2297);
14685 _errHandler.sync(this);
14686 _la = _input.LA(1);
14687 while (_la==COMMA_) {
14688 {
14689 {
14690 setState(2293);
14691 match(COMMA_);
14692 setState(2294);
14693 databaseName();
14694 }
14695 }
14696 setState(2299);
14697 _errHandler.sync(this);
14698 _la = _input.LA(1);
14699 }
14700 }
14701 }
14702 catch (RecognitionException re) {
14703 _localctx.exception = re;
14704 _errHandler.reportError(this, re);
14705 _errHandler.recover(this, re);
14706 }
14707 finally {
14708 exitRule();
14709 }
14710 return _localctx;
14711 }
14712
14713 public static class DropFunctionContext extends ParserRuleContext {
14714 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14715 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
14716 public List<FunctionNameContext> functionName() {
14717 return getRuleContexts(FunctionNameContext.class);
14718 }
14719 public FunctionNameContext functionName(int i) {
14720 return getRuleContext(FunctionNameContext.class,i);
14721 }
14722 public IfExistsContext ifExists() {
14723 return getRuleContext(IfExistsContext.class,0);
14724 }
14725 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14726 public TerminalNode COMMA_(int i) {
14727 return getToken(SQLServerStatementParser.COMMA_, i);
14728 }
14729 public DropFunctionContext(ParserRuleContext parent, int invokingState) {
14730 super(parent, invokingState);
14731 }
14732 @Override public int getRuleIndex() { return RULE_dropFunction; }
14733 @Override
14734 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14735 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropFunction(this);
14736 else return visitor.visitChildren(this);
14737 }
14738 }
14739
14740 public final DropFunctionContext dropFunction() throws RecognitionException {
14741 DropFunctionContext _localctx = new DropFunctionContext(_ctx, getState());
14742 enterRule(_localctx, 306, RULE_dropFunction);
14743 int _la;
14744 try {
14745 enterOuterAlt(_localctx, 1);
14746 {
14747 setState(2300);
14748 match(DROP);
14749 setState(2301);
14750 match(FUNCTION);
14751 setState(2303);
14752 _errHandler.sync(this);
14753 _la = _input.LA(1);
14754 if (_la==IF) {
14755 {
14756 setState(2302);
14757 ifExists();
14758 }
14759 }
14760
14761 setState(2305);
14762 functionName();
14763 setState(2310);
14764 _errHandler.sync(this);
14765 _la = _input.LA(1);
14766 while (_la==COMMA_) {
14767 {
14768 {
14769 setState(2306);
14770 match(COMMA_);
14771 setState(2307);
14772 functionName();
14773 }
14774 }
14775 setState(2312);
14776 _errHandler.sync(this);
14777 _la = _input.LA(1);
14778 }
14779 }
14780 }
14781 catch (RecognitionException re) {
14782 _localctx.exception = re;
14783 _errHandler.reportError(this, re);
14784 _errHandler.recover(this, re);
14785 }
14786 finally {
14787 exitRule();
14788 }
14789 return _localctx;
14790 }
14791
14792 public static class DropProcedureContext extends ParserRuleContext {
14793 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14794 public List<ProcedureNameContext> procedureName() {
14795 return getRuleContexts(ProcedureNameContext.class);
14796 }
14797 public ProcedureNameContext procedureName(int i) {
14798 return getRuleContext(ProcedureNameContext.class,i);
14799 }
14800 public TerminalNode PROC() { return getToken(SQLServerStatementParser.PROC, 0); }
14801 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
14802 public IfExistsContext ifExists() {
14803 return getRuleContext(IfExistsContext.class,0);
14804 }
14805 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14806 public TerminalNode COMMA_(int i) {
14807 return getToken(SQLServerStatementParser.COMMA_, i);
14808 }
14809 public DropProcedureContext(ParserRuleContext parent, int invokingState) {
14810 super(parent, invokingState);
14811 }
14812 @Override public int getRuleIndex() { return RULE_dropProcedure; }
14813 @Override
14814 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14815 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropProcedure(this);
14816 else return visitor.visitChildren(this);
14817 }
14818 }
14819
14820 public final DropProcedureContext dropProcedure() throws RecognitionException {
14821 DropProcedureContext _localctx = new DropProcedureContext(_ctx, getState());
14822 enterRule(_localctx, 308, RULE_dropProcedure);
14823 int _la;
14824 try {
14825 enterOuterAlt(_localctx, 1);
14826 {
14827 setState(2313);
14828 match(DROP);
14829 setState(2314);
14830 _la = _input.LA(1);
14831 if ( !(_la==PROCEDURE || _la==PROC) ) {
14832 _errHandler.recoverInline(this);
14833 }
14834 else {
14835 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
14836 _errHandler.reportMatch(this);
14837 consume();
14838 }
14839 setState(2316);
14840 _errHandler.sync(this);
14841 _la = _input.LA(1);
14842 if (_la==IF) {
14843 {
14844 setState(2315);
14845 ifExists();
14846 }
14847 }
14848
14849 setState(2318);
14850 procedureName();
14851 setState(2323);
14852 _errHandler.sync(this);
14853 _la = _input.LA(1);
14854 while (_la==COMMA_) {
14855 {
14856 {
14857 setState(2319);
14858 match(COMMA_);
14859 setState(2320);
14860 procedureName();
14861 }
14862 }
14863 setState(2325);
14864 _errHandler.sync(this);
14865 _la = _input.LA(1);
14866 }
14867 }
14868 }
14869 catch (RecognitionException re) {
14870 _localctx.exception = re;
14871 _errHandler.reportError(this, re);
14872 _errHandler.recover(this, re);
14873 }
14874 finally {
14875 exitRule();
14876 }
14877 return _localctx;
14878 }
14879
14880 public static class DropViewContext extends ParserRuleContext {
14881 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14882 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
14883 public List<ViewNameContext> viewName() {
14884 return getRuleContexts(ViewNameContext.class);
14885 }
14886 public ViewNameContext viewName(int i) {
14887 return getRuleContext(ViewNameContext.class,i);
14888 }
14889 public IfExistsContext ifExists() {
14890 return getRuleContext(IfExistsContext.class,0);
14891 }
14892 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14893 public TerminalNode COMMA_(int i) {
14894 return getToken(SQLServerStatementParser.COMMA_, i);
14895 }
14896 public DropViewContext(ParserRuleContext parent, int invokingState) {
14897 super(parent, invokingState);
14898 }
14899 @Override public int getRuleIndex() { return RULE_dropView; }
14900 @Override
14901 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14902 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropView(this);
14903 else return visitor.visitChildren(this);
14904 }
14905 }
14906
14907 public final DropViewContext dropView() throws RecognitionException {
14908 DropViewContext _localctx = new DropViewContext(_ctx, getState());
14909 enterRule(_localctx, 310, RULE_dropView);
14910 int _la;
14911 try {
14912 enterOuterAlt(_localctx, 1);
14913 {
14914 setState(2326);
14915 match(DROP);
14916 setState(2327);
14917 match(VIEW);
14918 setState(2329);
14919 _errHandler.sync(this);
14920 _la = _input.LA(1);
14921 if (_la==IF) {
14922 {
14923 setState(2328);
14924 ifExists();
14925 }
14926 }
14927
14928 setState(2331);
14929 viewName();
14930 setState(2336);
14931 _errHandler.sync(this);
14932 _la = _input.LA(1);
14933 while (_la==COMMA_) {
14934 {
14935 {
14936 setState(2332);
14937 match(COMMA_);
14938 setState(2333);
14939 viewName();
14940 }
14941 }
14942 setState(2338);
14943 _errHandler.sync(this);
14944 _la = _input.LA(1);
14945 }
14946 }
14947 }
14948 catch (RecognitionException re) {
14949 _localctx.exception = re;
14950 _errHandler.reportError(this, re);
14951 _errHandler.recover(this, re);
14952 }
14953 finally {
14954 exitRule();
14955 }
14956 return _localctx;
14957 }
14958
14959 public static class DropTriggerContext extends ParserRuleContext {
14960 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
14961 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
14962 public List<TriggerNameContext> triggerName() {
14963 return getRuleContexts(TriggerNameContext.class);
14964 }
14965 public TriggerNameContext triggerName(int i) {
14966 return getRuleContext(TriggerNameContext.class,i);
14967 }
14968 public IfExistsContext ifExists() {
14969 return getRuleContext(IfExistsContext.class,0);
14970 }
14971 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14972 public TerminalNode COMMA_(int i) {
14973 return getToken(SQLServerStatementParser.COMMA_, i);
14974 }
14975 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
14976 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
14977 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
14978 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
14979 public DropTriggerContext(ParserRuleContext parent, int invokingState) {
14980 super(parent, invokingState);
14981 }
14982 @Override public int getRuleIndex() { return RULE_dropTrigger; }
14983 @Override
14984 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14985 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropTrigger(this);
14986 else return visitor.visitChildren(this);
14987 }
14988 }
14989
14990 public final DropTriggerContext dropTrigger() throws RecognitionException {
14991 DropTriggerContext _localctx = new DropTriggerContext(_ctx, getState());
14992 enterRule(_localctx, 312, RULE_dropTrigger);
14993 int _la;
14994 try {
14995 enterOuterAlt(_localctx, 1);
14996 {
14997 setState(2339);
14998 match(DROP);
14999 setState(2340);
15000 match(TRIGGER);
15001 setState(2342);
15002 _errHandler.sync(this);
15003 _la = _input.LA(1);
15004 if (_la==IF) {
15005 {
15006 setState(2341);
15007 ifExists();
15008 }
15009 }
15010
15011 setState(2344);
15012 triggerName();
15013 setState(2349);
15014 _errHandler.sync(this);
15015 _la = _input.LA(1);
15016 while (_la==COMMA_) {
15017 {
15018 {
15019 setState(2345);
15020 match(COMMA_);
15021 setState(2346);
15022 triggerName();
15023 }
15024 }
15025 setState(2351);
15026 _errHandler.sync(this);
15027 _la = _input.LA(1);
15028 }
15029 setState(2358);
15030 _errHandler.sync(this);
15031 _la = _input.LA(1);
15032 if (_la==ON) {
15033 {
15034 setState(2352);
15035 match(ON);
15036 setState(2356);
15037 _errHandler.sync(this);
15038 switch (_input.LA(1)) {
15039 case DATABASE:
15040 {
15041 setState(2353);
15042 match(DATABASE);
15043 }
15044 break;
15045 case ALL:
15046 {
15047 setState(2354);
15048 match(ALL);
15049 setState(2355);
15050 match(SERVER);
15051 }
15052 break;
15053 default:
15054 throw new NoViableAltException(this);
15055 }
15056 }
15057 }
15058
15059 }
15060 }
15061 catch (RecognitionException re) {
15062 _localctx.exception = re;
15063 _errHandler.reportError(this, re);
15064 _errHandler.recover(this, re);
15065 }
15066 finally {
15067 exitRule();
15068 }
15069 return _localctx;
15070 }
15071
15072 public static class DropSequenceContext extends ParserRuleContext {
15073 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
15074 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
15075 public List<SequenceNameContext> sequenceName() {
15076 return getRuleContexts(SequenceNameContext.class);
15077 }
15078 public SequenceNameContext sequenceName(int i) {
15079 return getRuleContext(SequenceNameContext.class,i);
15080 }
15081 public IfExistsContext ifExists() {
15082 return getRuleContext(IfExistsContext.class,0);
15083 }
15084 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
15085 public TerminalNode COMMA_(int i) {
15086 return getToken(SQLServerStatementParser.COMMA_, i);
15087 }
15088 public DropSequenceContext(ParserRuleContext parent, int invokingState) {
15089 super(parent, invokingState);
15090 }
15091 @Override public int getRuleIndex() { return RULE_dropSequence; }
15092 @Override
15093 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15094 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropSequence(this);
15095 else return visitor.visitChildren(this);
15096 }
15097 }
15098
15099 public final DropSequenceContext dropSequence() throws RecognitionException {
15100 DropSequenceContext _localctx = new DropSequenceContext(_ctx, getState());
15101 enterRule(_localctx, 314, RULE_dropSequence);
15102 int _la;
15103 try {
15104 enterOuterAlt(_localctx, 1);
15105 {
15106 setState(2360);
15107 match(DROP);
15108 setState(2361);
15109 match(SEQUENCE);
15110 setState(2363);
15111 _errHandler.sync(this);
15112 _la = _input.LA(1);
15113 if (_la==IF) {
15114 {
15115 setState(2362);
15116 ifExists();
15117 }
15118 }
15119
15120 setState(2365);
15121 sequenceName();
15122 setState(2370);
15123 _errHandler.sync(this);
15124 _la = _input.LA(1);
15125 while (_la==COMMA_) {
15126 {
15127 {
15128 setState(2366);
15129 match(COMMA_);
15130 setState(2367);
15131 sequenceName();
15132 }
15133 }
15134 setState(2372);
15135 _errHandler.sync(this);
15136 _la = _input.LA(1);
15137 }
15138 }
15139 }
15140 catch (RecognitionException re) {
15141 _localctx.exception = re;
15142 _errHandler.reportError(this, re);
15143 _errHandler.recover(this, re);
15144 }
15145 finally {
15146 exitRule();
15147 }
15148 return _localctx;
15149 }
15150
15151 public static class DropServiceContext extends ParserRuleContext {
15152 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
15153 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
15154 public ServiceNameContext serviceName() {
15155 return getRuleContext(ServiceNameContext.class,0);
15156 }
15157 public DropServiceContext(ParserRuleContext parent, int invokingState) {
15158 super(parent, invokingState);
15159 }
15160 @Override public int getRuleIndex() { return RULE_dropService; }
15161 @Override
15162 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15163 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropService(this);
15164 else return visitor.visitChildren(this);
15165 }
15166 }
15167
15168 public final DropServiceContext dropService() throws RecognitionException {
15169 DropServiceContext _localctx = new DropServiceContext(_ctx, getState());
15170 enterRule(_localctx, 316, RULE_dropService);
15171 try {
15172 enterOuterAlt(_localctx, 1);
15173 {
15174 setState(2373);
15175 match(DROP);
15176 setState(2374);
15177 match(SERVICE);
15178 setState(2375);
15179 serviceName();
15180 }
15181 }
15182 catch (RecognitionException re) {
15183 _localctx.exception = re;
15184 _errHandler.reportError(this, re);
15185 _errHandler.recover(this, re);
15186 }
15187 finally {
15188 exitRule();
15189 }
15190 return _localctx;
15191 }
15192
15193 public static class DropSchemaContext extends ParserRuleContext {
15194 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
15195 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
15196 public SchemaNameContext schemaName() {
15197 return getRuleContext(SchemaNameContext.class,0);
15198 }
15199 public IfExistsContext ifExists() {
15200 return getRuleContext(IfExistsContext.class,0);
15201 }
15202 public DropSchemaContext(ParserRuleContext parent, int invokingState) {
15203 super(parent, invokingState);
15204 }
15205 @Override public int getRuleIndex() { return RULE_dropSchema; }
15206 @Override
15207 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15208 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropSchema(this);
15209 else return visitor.visitChildren(this);
15210 }
15211 }
15212
15213 public final DropSchemaContext dropSchema() throws RecognitionException {
15214 DropSchemaContext _localctx = new DropSchemaContext(_ctx, getState());
15215 enterRule(_localctx, 318, RULE_dropSchema);
15216 int _la;
15217 try {
15218 enterOuterAlt(_localctx, 1);
15219 {
15220 setState(2377);
15221 match(DROP);
15222 setState(2378);
15223 match(SCHEMA);
15224 setState(2380);
15225 _errHandler.sync(this);
15226 _la = _input.LA(1);
15227 if (_la==IF) {
15228 {
15229 setState(2379);
15230 ifExists();
15231 }
15232 }
15233
15234 setState(2382);
15235 schemaName();
15236 }
15237 }
15238 catch (RecognitionException re) {
15239 _localctx.exception = re;
15240 _errHandler.reportError(this, re);
15241 _errHandler.recover(this, re);
15242 }
15243 finally {
15244 exitRule();
15245 }
15246 return _localctx;
15247 }
15248
15249 public static class TruncateTableContext extends ParserRuleContext {
15250 public TerminalNode TRUNCATE() { return getToken(SQLServerStatementParser.TRUNCATE, 0); }
15251 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
15252 public TableNameContext tableName() {
15253 return getRuleContext(TableNameContext.class,0);
15254 }
15255 public TruncateTableContext(ParserRuleContext parent, int invokingState) {
15256 super(parent, invokingState);
15257 }
15258 @Override public int getRuleIndex() { return RULE_truncateTable; }
15259 @Override
15260 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15261 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTruncateTable(this);
15262 else return visitor.visitChildren(this);
15263 }
15264 }
15265
15266 public final TruncateTableContext truncateTable() throws RecognitionException {
15267 TruncateTableContext _localctx = new TruncateTableContext(_ctx, getState());
15268 enterRule(_localctx, 320, RULE_truncateTable);
15269 try {
15270 enterOuterAlt(_localctx, 1);
15271 {
15272 setState(2384);
15273 match(TRUNCATE);
15274 setState(2385);
15275 match(TABLE);
15276 setState(2386);
15277 tableName();
15278 }
15279 }
15280 catch (RecognitionException re) {
15281 _localctx.exception = re;
15282 _errHandler.reportError(this, re);
15283 _errHandler.recover(this, re);
15284 }
15285 finally {
15286 exitRule();
15287 }
15288 return _localctx;
15289 }
15290
15291 public static class UpdateStatisticsContext extends ParserRuleContext {
15292 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
15293 public TerminalNode STATISTICS() { return getToken(SQLServerStatementParser.STATISTICS, 0); }
15294 public TableNameContext tableName() {
15295 return getRuleContext(TableNameContext.class,0);
15296 }
15297 public List<IndexNameContext> indexName() {
15298 return getRuleContexts(IndexNameContext.class);
15299 }
15300 public IndexNameContext indexName(int i) {
15301 return getRuleContext(IndexNameContext.class,i);
15302 }
15303 public StatisticsWithClauseContext statisticsWithClause() {
15304 return getRuleContext(StatisticsWithClauseContext.class,0);
15305 }
15306 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
15307 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
15308 public TerminalNode COMMA_(int i) {
15309 return getToken(SQLServerStatementParser.COMMA_, i);
15310 }
15311 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
15312 public UpdateStatisticsContext(ParserRuleContext parent, int invokingState) {
15313 super(parent, invokingState);
15314 }
15315 @Override public int getRuleIndex() { return RULE_updateStatistics; }
15316 @Override
15317 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15318 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUpdateStatistics(this);
15319 else return visitor.visitChildren(this);
15320 }
15321 }
15322
15323 public final UpdateStatisticsContext updateStatistics() throws RecognitionException {
15324 UpdateStatisticsContext _localctx = new UpdateStatisticsContext(_ctx, getState());
15325 enterRule(_localctx, 322, RULE_updateStatistics);
15326 int _la;
15327 try {
15328 enterOuterAlt(_localctx, 1);
15329 {
15330 setState(2388);
15331 match(UPDATE);
15332 setState(2389);
15333 match(STATISTICS);
15334 setState(2390);
15335 tableName();
15336 setState(2405);
15337 _errHandler.sync(this);
15338 _la = _input.LA(1);
15339 if (((((_la - 31)) & ~0x3f) == 0 && ((1L << (_la - 31)) & ((1L << (LP_ - 31)) | (1L << (TRUNCATE - 31)) | (1L << (SCHEMA - 31)) | (1L << (COLUMNS - 31)) | (1L << (PRECISION - 31)) | (1L << (FUNCTION - 31)) | (1L << (TRIGGER - 31)) | (1L << (CAST - 31)) | (1L << (TRIM - 31)) | (1L << (SUBSTRING - 31)))) != 0) || ((((_la - 98)) & ~0x3f) == 0 && ((1L << (_la - 98)) & ((1L << (OFF - 98)) | (1L << (GROUP - 98)) | (1L << (LIMIT - 98)) | (1L << (OFFSET - 98)) | (1L << (SAVEPOINT - 98)) | (1L << (BOOLEAN - 98)) | (1L << (ARRAY - 98)) | (1L << (DATE - 98)) | (1L << (TIMESTAMP - 98)) | (1L << (LOCALTIME - 98)) | (1L << (LOCALTIMESTAMP - 98)) | (1L << (YEAR - 98)) | (1L << (QUARTER - 98)) | (1L << (MONTH - 98)) | (1L << (WEEK - 98)) | (1L << (DAY - 98)) | (1L << (SECOND - 98)) | (1L << (MICROSECOND - 98)) | (1L << (MAX - 98)) | (1L << (MIN - 98)) | (1L << (SUM - 98)) | (1L << (COUNT - 98)) | (1L << (AVG - 98)) | (1L << (ENABLE - 98)) | (1L << (DISABLE - 98)) | (1L << (INSTANCE - 98)) | (1L << (DO - 98)))) != 0) || ((((_la - 162)) & ~0x3f) == 0 && ((1L << (_la - 162)) & ((1L << (DEFINER - 162)) | (1L << (SQL - 162)) | (1L << (CASCADED - 162)) | (1L << (LOCAL - 162)) | (1L << (NEXT - 162)) | (1L << (NAME - 162)) | (1L << (INTEGER - 162)) | (1L << (TYPE - 162)) | (1L << (TEXT - 162)) | (1L << (VIEWS - 162)) | (1L << (READ_ONLY - 162)) | (1L << (DATABASE - 162)) | (1L << (RETURNS - 162)) | (1L << (DATEPART - 162)) | (1L << (PASSWORD - 162)))) != 0) || ((((_la - 241)) & ~0x3f) == 0 && ((1L << (_la - 241)) & ((1L << (BINARY - 241)) | (1L << (HIDDEN_ - 241)) | (1L << (MOD - 241)) | (1L << (PARTITION - 241)) | (1L << (PARTITIONS - 241)) | (1L << (TOP - 241)) | (1L << (ROW - 241)) | (1L << (ROWS - 241)) | (1L << (XOR - 241)) | (1L << (ALWAYS - 241)) | (1L << (ROLE - 241)) | (1L << (START - 241)) | (1L << (ALGORITHM - 241)) | (1L << (AUTO - 241)) | (1L << (BLOCKERS - 241)) | (1L << (CLUSTERED - 241)) | (1L << (NONCLUSTERED - 241)) | (1L << (COLUMNSTORE - 241)) | (1L << (CONTENT - 241)) | (1L << (YEARS - 241)) | (1L << (MONTHS - 241)) | (1L << (WEEKS - 241)) | (1L << (DAYS - 241)) | (1L << (MINUTES - 241)) | (1L << (DENY - 241)) | (1L << (DETERMINISTIC - 241)) | (1L << (DISTRIBUTION - 241)) | (1L << (DOCUMENT - 241)) | (1L << (DURABILITY - 241)) | (1L << (ENCRYPTED - 241)) | (1L << (FILESTREAM - 241)) | (1L << (FILETABLE - 241)) | (1L << (FILLFACTOR - 241)) | (1L << (FOLLOWING - 241)) | (1L << (HASH - 241)) | (1L << (HEAP - 241)) | (1L << (INBOUND - 241)) | (1L << (OUTBOUND - 241)) | (1L << (UNBOUNDED - 241)) | (1L << (INFINITE - 241)) | (1L << (LOGIN - 241)) | (1L << (MASKED - 241)) | (1L << (MAXDOP - 241)) | (1L << (MOVE - 241)) | (1L << (NOCHECK - 241)) | (1L << (OBJECT - 241)) | (1L << (ONLINE - 241)))) != 0) || ((((_la - 305)) & ~0x3f) == 0 && ((1L << (_la - 305)) & ((1L << (OVER - 305)) | (1L << (PAGE - 305)) | (1L << (PAUSED - 305)) | (1L << (PERIOD - 305)) | (1L << (PERSISTED - 305)) | (1L << (PRECEDING - 305)) | (1L << (RANDOMIZED - 305)) | (1L << (RANGE - 305)) | (1L << (REBUILD - 305)) | (1L << (REPLICATE - 305)) | (1L << (REPLICATION - 305)) | (1L << (RESUMABLE - 305)) | (1L << (ROWGUIDCOL - 305)) | (1L << (SAVE - 305)) | (1L << (SELF - 305)) | (1L << (SPARSE - 305)) | (1L << (SWITCH - 305)) | (1L << (TRAN - 305)) | (1L << (TRANCOUNT - 305)) | (1L << (CONTROL - 305)) | (1L << (CONCAT - 305)) | (1L << (TAKE - 305)) | (1L << (OWNERSHIP - 305)) | (1L << (DEFINITION - 305)) | (1L << (APPLICATION - 305)) | (1L << (ASSEMBLY - 305)) | (1L << (SYMMETRIC - 305)) | (1L << (ASYMMETRIC - 305)) | (1L << (SERVER - 305)) | (1L << (RECEIVE - 305)) | (1L << (CHANGE - 305)) | (1L << (TRACE - 305)) | (1L << (TRACKING - 305)) | (1L << (RESOURCES - 305)) | (1L << (SETTINGS - 305)) | (1L << (STATE - 305)) | (1L << (AVAILABILITY - 305)) | (1L << (CREDENTIAL - 305)) | (1L << (ENDPOINT - 305)) | (1L << (EVENT - 305)) | (1L << (NOTIFICATION - 305)) | (1L << (LINKED - 305)) | (1L << (AUDIT - 305)) | (1L << (DDL - 305)) | (1L << (XML - 305)) | (1L << (IMPERSONATE - 305)) | (1L << (SECURABLES - 305)) | (1L << (AUTHENTICATE - 305)) | (1L << (EXTERNAL - 305)) | (1L << (ACCESS - 305)) | (1L << (ADMINISTER - 305)) | (1L << (BULK - 305)) | (1L << (OPERATIONS - 305)) | (1L << (UNSAFE - 305)) | (1L << (SHUTDOWN - 305)) | (1L << (SCOPED - 305)) | (1L << (CONFIGURATION - 305)))) != 0) || ((((_la - 369)) & ~0x3f) == 0 && ((1L << (_la - 369)) & ((1L << (DATASPACE - 369)) | (1L << (SERVICE - 369)) | (1L << (CERTIFICATE - 369)) | (1L << (CONTRACT - 369)) | (1L << (ENCRYPTION - 369)) | (1L << (MASTER - 369)) | (1L << (DATA - 369)) | (1L << (SOURCE - 369)) | (1L << (FILE - 369)) | (1L << (FORMAT - 369)) | (1L << (LIBRARY - 369)) | (1L << (FULLTEXT - 369)) | (1L << (MASK - 369)) | (1L << (UNMASK - 369)) | (1L << (MESSAGE - 369)) | (1L << (REMOTE - 369)) | (1L << (BINDING - 369)) | (1L << (ROUTE - 369)) | (1L << (SECURITY - 369)) | (1L << (POLICY - 369)) | (1L << (AGGREGATE - 369)) | (1L << (QUEUE - 369)) | (1L << (RULE - 369)) | (1L << (SYNONYM - 369)) | (1L << (COLLECTION - 369)) | (1L << (SCRIPT - 369)) | (1L << (KILL - 369)) | (1L << (BACKUP - 369)) | (1L << (LOG - 369)) | (1L << (SHOWPLAN - 369)) | (1L << (SUBSCRIBE - 369)) | (1L << (QUERY - 369)) | (1L << (NOTIFICATIONS - 369)) | (1L << (CHECKPOINT - 369)) | (1L << (SEQUENCE - 369)) | (1L << (ABORT_AFTER_WAIT - 369)) | (1L << (ALLOW_PAGE_LOCKS - 369)) | (1L << (ALLOW_ROW_LOCKS - 369)) | (1L << (ALL_SPARSE_COLUMNS - 369)) | (1L << (BUCKET_COUNT - 369)) | (1L << (COLUMNSTORE_ARCHIVE - 369)) | (1L << (COLUMN_ENCRYPTION_KEY - 369)) | (1L << (COLUMN_SET - 369)) | (1L << (COMPRESSION_DELAY - 369)) | (1L << (DATABASE_DEAULT - 369)) | (1L << (DATA_COMPRESSION - 369)) | (1L << (DATA_CONSISTENCY_CHECK - 369)) | (1L << (ENCRYPTION_TYPE - 369)) | (1L << (SYSTEM_TIME - 369)) | (1L << (SYSTEM_VERSIONING - 369)) | (1L << (TEXTIMAGE_ON - 369)) | (1L << (WAIT_AT_LOW_PRIORITY - 369)) | (1L << (STATISTICS_INCREMENTAL - 369)) | (1L << (STATISTICS_NORECOMPUTE - 369)) | (1L << (ROUND_ROBIN - 369)) | (1L << (SCHEMA_AND_DATA - 369)) | (1L << (SCHEMA_ONLY - 369)) | (1L << (SORT_IN_TEMPDB - 369)) | (1L << (IGNORE_DUP_KEY - 369)) | (1L << (IMPLICIT_TRANSACTIONS - 369)) | (1L << (MAX_DURATION - 369)) | (1L << (MEMORY_OPTIMIZED - 369)) | (1L << (MIGRATION_STATE - 369)) | (1L << (PAD_INDEX - 369)))) != 0) || ((((_la - 433)) & ~0x3f) == 0 && ((1L << (_la - 433)) & ((1L << (REMOTE_DATA_ARCHIVE - 433)) | (1L << (FILESTREAM_ON - 433)) | (1L << (FILETABLE_COLLATE_FILENAME - 433)) | (1L << (FILETABLE_DIRECTORY - 433)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 433)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 433)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 433)) | (1L << (FILTER_PREDICATE - 433)) | (1L << (HISTORY_RETENTION_PERIOD - 433)) | (1L << (HISTORY_TABLE - 433)) | (1L << (LOCK_ESCALATION - 433)) | (1L << (DROP_EXISTING - 433)) | (1L << (ROW_NUMBER - 433)) | (1L << (FIRST - 433)) | (1L << (DATETIME2 - 433)) | (1L << (OUTPUT - 433)) | (1L << (INSERTED - 433)) | (1L << (DELETED - 433)))) != 0) || ((((_la - 504)) & ~0x3f) == 0 && ((1L << (_la - 504)) & ((1L << (FILENAME - 504)) | (1L << (SIZE - 504)) | (1L << (MAXSIZE - 504)) | (1L << (FILEGROWTH - 504)) | (1L << (UNLIMITED - 504)) | (1L << (KB - 504)) | (1L << (MB - 504)) | (1L << (GB - 504)) | (1L << (TB - 504)) | (1L << (CONTAINS - 504)) | (1L << (MEMORY_OPTIMIZED_DATA - 504)) | (1L << (FILEGROUP - 504)) | (1L << (NON_TRANSACTED_ACCESS - 504)) | (1L << (DB_CHAINING - 504)) | (1L << (TRUSTWORTHY - 504)) | (1L << (FORWARD_ONLY - 504)) | (1L << (KEYSET - 504)) | (1L << (FAST_FORWARD - 504)) | (1L << (SCROLL_LOCKS - 504)) | (1L << (OPTIMISTIC - 504)) | (1L << (TYPE_WARNING - 504)) | (1L << (SCHEMABINDING - 504)) | (1L << (CALLER - 504)) | (1L << (INPUT - 504)) | (1L << (OWNER - 504)) | (1L << (SNAPSHOT - 504)) | (1L << (REPEATABLE - 504)) | (1L << (SERIALIZABLE - 504)) | (1L << (NATIVE_COMPILATION - 504)) | (1L << (VIEW_METADATA - 504)) | (1L << (INSTEAD - 504)) | (1L << (APPEND - 504)) | (1L << (INCREMENT - 504)) | (1L << (CACHE - 504)) | (1L << (MINVALUE - 504)) | (1L << (MAXVALUE - 504)) | (1L << (RESTART - 504)) | (1L << (LOB_COMPACTION - 504)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 504)) | (1L << (REORGANIZE - 504)) | (1L << (RESUME - 504)) | (1L << (PAUSE - 504)) | (1L << (ABORT - 504)))) != 0) || ((((_la - 570)) & ~0x3f) == 0 && ((1L << (_la - 570)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 570)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 570)) | (1L << (IMMEDIATE - 570)) | (1L << (NO_WAIT - 570)) | (1L << (TARGET_RECOVERY_TIME - 570)) | (1L << (SECONDS - 570)) | (1L << (HONOR_BROKER_PRIORITY - 570)) | (1L << (ERROR_BROKER_CONVERSATIONS - 570)) | (1L << (NEW_BROKER - 570)) | (1L << (DISABLE_BROKER - 570)) | (1L << (ENABLE_BROKER - 570)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 570)) | (1L << (READ_COMMITTED_SNAPSHOT - 570)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 570)) | (1L << (RECURSIVE_TRIGGERS - 570)) | (1L << (QUOTED_IDENTIFIER - 570)) | (1L << (NUMERIC_ROUNDABORT - 570)) | (1L << (CONCAT_NULL_YIELDS_NULL - 570)) | (1L << (COMPATIBILITY_LEVEL - 570)) | (1L << (ARITHABORT - 570)) | (1L << (ANSI_WARNINGS - 570)) | (1L << (ANSI_PADDING - 570)) | (1L << (ANSI_NULLS - 570)) | (1L << (ANSI_NULL_DEFAULT - 570)) | (1L << (PAGE_VERIFY - 570)) | (1L << (CHECKSUM - 570)) | (1L << (TORN_PAGE_DETECTION - 570)) | (1L << (BULK_LOGGED - 570)) | (1L << (RECOVERY - 570)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 570)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 570)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 570)) | (1L << (EXECUTION_COUNT - 570)) | (1L << (QUERY_CAPTURE_POLICY - 570)) | (1L << (WAIT_STATS_CAPTURE_MODE - 570)) | (1L << (MAX_PLANS_PER_QUERY - 570)) | (1L << (QUERY_CAPTURE_MODE - 570)) | (1L << (SIZE_BASED_CLEANUP_MODE - 570)) | (1L << (INTERVAL_LENGTH_MINUTES - 570)) | (1L << (MAX_STORAGE_SIZE_MB - 570)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 570)) | (1L << (CLEANUP_POLICY - 570)) | (1L << (CUSTOM - 570)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 570)) | (1L << (OPERATION_MODE - 570)) | (1L << (QUERY_STORE - 570)) | (1L << (CURSOR_DEFAULT - 570)) | (1L << (GLOBAL - 570)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 570)) | (1L << (HOURS - 570)) | (1L << (CHANGE_RETENTION - 570)) | (1L << (AUTO_CLEANUP - 570)) | (1L << (CHANGE_TRACKING - 570)) | (1L << (AUTOMATIC_TUNING - 570)) | (1L << (FORCE_LAST_GOOD_PLAN - 570)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 570)) | (1L << (AUTO_UPDATE_STATISTICS - 570)) | (1L << (AUTO_SHRINK - 570)) | (1L << (AUTO_CREATE_STATISTICS - 570)) | (1L << (INCREMENTAL - 570)) | (1L << (AUTO_CLOSE - 570)) | (1L << (DATA_RETENTION - 570)) | (1L << (TEMPORAL_HISTORY_RETENTION - 570)) | (1L << (EDITION - 570)))) != 0) || ((((_la - 634)) & ~0x3f) == 0 && ((1L << (_la - 634)) & ((1L << (MIXED_PAGE_ALLOCATION - 634)) | (1L << (DISABLED - 634)) | (1L << (ALLOWED - 634)) | (1L << (HADR - 634)) | (1L << (MULTI_USER - 634)) | (1L << (RESTRICTED_USER - 634)) | (1L << (SINGLE_USER - 634)) | (1L << (OFFLINE - 634)) | (1L << (EMERGENCY - 634)) | (1L << (SUSPEND - 634)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 634)) | (1L << (ELASTIC_POOL - 634)) | (1L << (SERVICE_OBJECTIVE - 634)) | (1L << (DATABASE_NAME - 634)) | (1L << (ALLOW_CONNECTIONS - 634)) | (1L << (GEO - 634)) | (1L << (NAMED - 634)) | (1L << (DATEFIRST - 634)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 634)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 634)) | (1L << (SECONDARY - 634)) | (1L << (FAILOVER - 634)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 634)) | (1L << (DEFAULT_LANGUAGE - 634)) | (1L << (INLINE - 634)) | (1L << (NESTED_TRIGGERS - 634)) | (1L << (TRANSFORM_NOISE_WORDS - 634)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 634)) | (1L << (PERSISTENT_LOG_BUFFER - 634)) | (1L << (DIRECTORY_NAME - 634)) | (1L << (DATEFORMAT - 634)) | (1L << (DELAYED_DURABILITY - 634)) | (1L << (AUTHORIZATION - 634)) | (1L << (TRANSFER - 634)) | (1L << (PROVIDER - 634)) | (1L << (SEARCH - 634)) | (1L << (MEMBER - 634)))) != 0) || _la==IDENTIFIER_ || _la==DELIMITED_IDENTIFIER_) {
15340 {
15341 setState(2392);
15342 _errHandler.sync(this);
15343 _la = _input.LA(1);
15344 if (_la==LP_) {
15345 {
15346 setState(2391);
15347 match(LP_);
15348 }
15349 }
15350
15351 setState(2394);
15352 indexName();
15353 setState(2399);
15354 _errHandler.sync(this);
15355 _la = _input.LA(1);
15356 while (_la==COMMA_) {
15357 {
15358 {
15359 setState(2395);
15360 match(COMMA_);
15361 setState(2396);
15362 indexName();
15363 }
15364 }
15365 setState(2401);
15366 _errHandler.sync(this);
15367 _la = _input.LA(1);
15368 }
15369 setState(2403);
15370 _errHandler.sync(this);
15371 _la = _input.LA(1);
15372 if (_la==RP_) {
15373 {
15374 setState(2402);
15375 match(RP_);
15376 }
15377 }
15378
15379 }
15380 }
15381
15382 setState(2408);
15383 _errHandler.sync(this);
15384 _la = _input.LA(1);
15385 if (_la==WITH) {
15386 {
15387 setState(2407);
15388 statisticsWithClause();
15389 }
15390 }
15391
15392 }
15393 }
15394 catch (RecognitionException re) {
15395 _localctx.exception = re;
15396 _errHandler.reportError(this, re);
15397 _errHandler.recover(this, re);
15398 }
15399 finally {
15400 exitRule();
15401 }
15402 return _localctx;
15403 }
15404
15405 public static class StatisticsWithClauseContext extends ParserRuleContext {
15406 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
15407 public SampleOptionContext sampleOption() {
15408 return getRuleContext(SampleOptionContext.class,0);
15409 }
15410 public StatisticsOptionsContext statisticsOptions() {
15411 return getRuleContext(StatisticsOptionsContext.class,0);
15412 }
15413 public StatisticsWithClauseContext(ParserRuleContext parent, int invokingState) {
15414 super(parent, invokingState);
15415 }
15416 @Override public int getRuleIndex() { return RULE_statisticsWithClause; }
15417 @Override
15418 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15419 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStatisticsWithClause(this);
15420 else return visitor.visitChildren(this);
15421 }
15422 }
15423
15424 public final StatisticsWithClauseContext statisticsWithClause() throws RecognitionException {
15425 StatisticsWithClauseContext _localctx = new StatisticsWithClauseContext(_ctx, getState());
15426 enterRule(_localctx, 324, RULE_statisticsWithClause);
15427 int _la;
15428 try {
15429 enterOuterAlt(_localctx, 1);
15430 {
15431 setState(2410);
15432 match(WITH);
15433 setState(2412);
15434 _errHandler.sync(this);
15435 _la = _input.LA(1);
15436 if (((((_la - 711)) & ~0x3f) == 0 && ((1L << (_la - 711)) & ((1L << (FULLSCAN - 711)) | (1L << (SAMPLE - 711)) | (1L << (RESAMPLE - 711)))) != 0)) {
15437 {
15438 setState(2411);
15439 sampleOption();
15440 }
15441 }
15442
15443 setState(2415);
15444 _errHandler.sync(this);
15445 _la = _input.LA(1);
15446 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << COMMA_) | (1L << COLUMNS) | (1L << INDEX))) != 0) || _la==ALL || _la==MAXDOP || _la==INCREMENTAL || _la==NORECOMPUTE || _la==AUTO_DROP) {
15447 {
15448 setState(2414);
15449 statisticsOptions();
15450 }
15451 }
15452
15453 }
15454 }
15455 catch (RecognitionException re) {
15456 _localctx.exception = re;
15457 _errHandler.reportError(this, re);
15458 _errHandler.recover(this, re);
15459 }
15460 finally {
15461 exitRule();
15462 }
15463 return _localctx;
15464 }
15465
15466 public static class SampleOptionContext extends ParserRuleContext {
15467 public TerminalNode FULLSCAN() { return getToken(SQLServerStatementParser.FULLSCAN, 0); }
15468 public TerminalNode PERSIST_SAMPLE_PERCENT() { return getToken(SQLServerStatementParser.PERSIST_SAMPLE_PERCENT, 0); }
15469 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
15470 public TerminalNode SAMPLE() { return getToken(SQLServerStatementParser.SAMPLE, 0); }
15471 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
15472 public TerminalNode NUMBER_(int i) {
15473 return getToken(SQLServerStatementParser.NUMBER_, i);
15474 }
15475 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
15476 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
15477 public TerminalNode PERCENT() { return getToken(SQLServerStatementParser.PERCENT, 0); }
15478 public TerminalNode ROWS() { return getToken(SQLServerStatementParser.ROWS, 0); }
15479 public TerminalNode RESAMPLE() { return getToken(SQLServerStatementParser.RESAMPLE, 0); }
15480 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
15481 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
15482 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
15483 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
15484 public TerminalNode COMMA_(int i) {
15485 return getToken(SQLServerStatementParser.COMMA_, i);
15486 }
15487 public SampleOptionContext(ParserRuleContext parent, int invokingState) {
15488 super(parent, invokingState);
15489 }
15490 @Override public int getRuleIndex() { return RULE_sampleOption; }
15491 @Override
15492 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15493 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSampleOption(this);
15494 else return visitor.visitChildren(this);
15495 }
15496 }
15497
15498 public final SampleOptionContext sampleOption() throws RecognitionException {
15499 SampleOptionContext _localctx = new SampleOptionContext(_ctx, getState());
15500 enterRule(_localctx, 326, RULE_sampleOption);
15501 int _la;
15502 try {
15503 setState(2443);
15504 _errHandler.sync(this);
15505 switch (_input.LA(1)) {
15506 case FULLSCAN:
15507 case SAMPLE:
15508 enterOuterAlt(_localctx, 1);
15509 {
15510 setState(2421);
15511 _errHandler.sync(this);
15512 switch (_input.LA(1)) {
15513 case FULLSCAN:
15514 {
15515 setState(2417);
15516 match(FULLSCAN);
15517 }
15518 break;
15519 case SAMPLE:
15520 {
15521 {
15522 setState(2418);
15523 match(SAMPLE);
15524 setState(2419);
15525 match(NUMBER_);
15526 setState(2420);
15527 _la = _input.LA(1);
15528 if ( !(_la==PERCENT || _la==ROWS) ) {
15529 _errHandler.recoverInline(this);
15530 }
15531 else {
15532 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
15533 _errHandler.reportMatch(this);
15534 consume();
15535 }
15536 }
15537 }
15538 break;
15539 default:
15540 throw new NoViableAltException(this);
15541 }
15542 setState(2426);
15543 _errHandler.sync(this);
15544 _la = _input.LA(1);
15545 if (_la==PERSIST_SAMPLE_PERCENT) {
15546 {
15547 setState(2423);
15548 match(PERSIST_SAMPLE_PERCENT);
15549 setState(2424);
15550 match(EQ_);
15551 setState(2425);
15552 _la = _input.LA(1);
15553 if ( !(_la==ON || _la==OFF) ) {
15554 _errHandler.recoverInline(this);
15555 }
15556 else {
15557 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
15558 _errHandler.reportMatch(this);
15559 consume();
15560 }
15561 }
15562 }
15563
15564 }
15565 break;
15566 case RESAMPLE:
15567 enterOuterAlt(_localctx, 2);
15568 {
15569 setState(2428);
15570 match(RESAMPLE);
15571 setState(2441);
15572 _errHandler.sync(this);
15573 _la = _input.LA(1);
15574 if (_la==ON) {
15575 {
15576 setState(2429);
15577 match(ON);
15578 setState(2430);
15579 match(PARTITIONS);
15580 setState(2431);
15581 match(LP_);
15582 setState(2432);
15583 match(NUMBER_);
15584 setState(2437);
15585 _errHandler.sync(this);
15586 _la = _input.LA(1);
15587 while (_la==COMMA_) {
15588 {
15589 {
15590 setState(2433);
15591 match(COMMA_);
15592 setState(2434);
15593 match(NUMBER_);
15594 }
15595 }
15596 setState(2439);
15597 _errHandler.sync(this);
15598 _la = _input.LA(1);
15599 }
15600 setState(2440);
15601 match(RP_);
15602 }
15603 }
15604
15605 }
15606 break;
15607 default:
15608 throw new NoViableAltException(this);
15609 }
15610 }
15611 catch (RecognitionException re) {
15612 _localctx.exception = re;
15613 _errHandler.reportError(this, re);
15614 _errHandler.recover(this, re);
15615 }
15616 finally {
15617 exitRule();
15618 }
15619 return _localctx;
15620 }
15621
15622 public static class StatisticsOptionsContext extends ParserRuleContext {
15623 public List<StatisticsOptionContext> statisticsOption() {
15624 return getRuleContexts(StatisticsOptionContext.class);
15625 }
15626 public StatisticsOptionContext statisticsOption(int i) {
15627 return getRuleContext(StatisticsOptionContext.class,i);
15628 }
15629 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
15630 public TerminalNode COMMA_(int i) {
15631 return getToken(SQLServerStatementParser.COMMA_, i);
15632 }
15633 public StatisticsOptionsContext(ParserRuleContext parent, int invokingState) {
15634 super(parent, invokingState);
15635 }
15636 @Override public int getRuleIndex() { return RULE_statisticsOptions; }
15637 @Override
15638 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15639 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStatisticsOptions(this);
15640 else return visitor.visitChildren(this);
15641 }
15642 }
15643
15644 public final StatisticsOptionsContext statisticsOptions() throws RecognitionException {
15645 StatisticsOptionsContext _localctx = new StatisticsOptionsContext(_ctx, getState());
15646 enterRule(_localctx, 328, RULE_statisticsOptions);
15647 int _la;
15648 try {
15649 enterOuterAlt(_localctx, 1);
15650 {
15651 setState(2449);
15652 _errHandler.sync(this);
15653 _la = _input.LA(1);
15654 do {
15655 {
15656 {
15657 setState(2446);
15658 _errHandler.sync(this);
15659 _la = _input.LA(1);
15660 if (_la==COMMA_) {
15661 {
15662 setState(2445);
15663 match(COMMA_);
15664 }
15665 }
15666
15667 setState(2448);
15668 statisticsOption();
15669 }
15670 }
15671 setState(2451);
15672 _errHandler.sync(this);
15673 _la = _input.LA(1);
15674 } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << COMMA_) | (1L << COLUMNS) | (1L << INDEX))) != 0) || _la==ALL || _la==MAXDOP || _la==INCREMENTAL || _la==NORECOMPUTE || _la==AUTO_DROP );
15675 }
15676 }
15677 catch (RecognitionException re) {
15678 _localctx.exception = re;
15679 _errHandler.reportError(this, re);
15680 _errHandler.recover(this, re);
15681 }
15682 finally {
15683 exitRule();
15684 }
15685 return _localctx;
15686 }
15687
15688 public static class StatisticsOptionContext extends ParserRuleContext {
15689 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
15690 public TerminalNode COLUMNS() { return getToken(SQLServerStatementParser.COLUMNS, 0); }
15691 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
15692 public TerminalNode NORECOMPUTE() { return getToken(SQLServerStatementParser.NORECOMPUTE, 0); }
15693 public TerminalNode INCREMENTAL() { return getToken(SQLServerStatementParser.INCREMENTAL, 0); }
15694 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
15695 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
15696 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
15697 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
15698 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
15699 public TerminalNode AUTO_DROP() { return getToken(SQLServerStatementParser.AUTO_DROP, 0); }
15700 public StatisticsOptionContext(ParserRuleContext parent, int invokingState) {
15701 super(parent, invokingState);
15702 }
15703 @Override public int getRuleIndex() { return RULE_statisticsOption; }
15704 @Override
15705 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15706 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStatisticsOption(this);
15707 else return visitor.visitChildren(this);
15708 }
15709 }
15710
15711 public final StatisticsOptionContext statisticsOption() throws RecognitionException {
15712 StatisticsOptionContext _localctx = new StatisticsOptionContext(_ctx, getState());
15713 enterRule(_localctx, 330, RULE_statisticsOption);
15714 int _la;
15715 try {
15716 setState(2466);
15717 _errHandler.sync(this);
15718 switch (_input.LA(1)) {
15719 case ALL:
15720 enterOuterAlt(_localctx, 1);
15721 {
15722 setState(2453);
15723 match(ALL);
15724 }
15725 break;
15726 case COLUMNS:
15727 enterOuterAlt(_localctx, 2);
15728 {
15729 setState(2454);
15730 match(COLUMNS);
15731 }
15732 break;
15733 case INDEX:
15734 enterOuterAlt(_localctx, 3);
15735 {
15736 setState(2455);
15737 match(INDEX);
15738 }
15739 break;
15740 case NORECOMPUTE:
15741 enterOuterAlt(_localctx, 4);
15742 {
15743 setState(2456);
15744 match(NORECOMPUTE);
15745 }
15746 break;
15747 case INCREMENTAL:
15748 enterOuterAlt(_localctx, 5);
15749 {
15750 setState(2457);
15751 match(INCREMENTAL);
15752 setState(2458);
15753 match(EQ_);
15754 setState(2459);
15755 _la = _input.LA(1);
15756 if ( !(_la==ON || _la==OFF) ) {
15757 _errHandler.recoverInline(this);
15758 }
15759 else {
15760 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
15761 _errHandler.reportMatch(this);
15762 consume();
15763 }
15764 }
15765 break;
15766 case MAXDOP:
15767 enterOuterAlt(_localctx, 6);
15768 {
15769 setState(2460);
15770 match(MAXDOP);
15771 setState(2461);
15772 match(EQ_);
15773 setState(2462);
15774 match(NUMBER_);
15775 }
15776 break;
15777 case AUTO_DROP:
15778 enterOuterAlt(_localctx, 7);
15779 {
15780 setState(2463);
15781 match(AUTO_DROP);
15782 setState(2464);
15783 match(EQ_);
15784 setState(2465);
15785 _la = _input.LA(1);
15786 if ( !(_la==ON || _la==OFF) ) {
15787 _errHandler.recoverInline(this);
15788 }
15789 else {
15790 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
15791 _errHandler.reportMatch(this);
15792 consume();
15793 }
15794 }
15795 break;
15796 default:
15797 throw new NoViableAltException(this);
15798 }
15799 }
15800 catch (RecognitionException re) {
15801 _localctx.exception = re;
15802 _errHandler.reportError(this, re);
15803 _errHandler.recover(this, re);
15804 }
15805 finally {
15806 exitRule();
15807 }
15808 return _localctx;
15809 }
15810
15811 public static class FileTableClauseContext extends ParserRuleContext {
15812 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
15813 public TerminalNode FILETABLE() { return getToken(SQLServerStatementParser.FILETABLE, 0); }
15814 public FileTableClauseContext(ParserRuleContext parent, int invokingState) {
15815 super(parent, invokingState);
15816 }
15817 @Override public int getRuleIndex() { return RULE_fileTableClause; }
15818 @Override
15819 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15820 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileTableClause(this);
15821 else return visitor.visitChildren(this);
15822 }
15823 }
15824
15825 public final FileTableClauseContext fileTableClause() throws RecognitionException {
15826 FileTableClauseContext _localctx = new FileTableClauseContext(_ctx, getState());
15827 enterRule(_localctx, 332, RULE_fileTableClause);
15828 int _la;
15829 try {
15830 enterOuterAlt(_localctx, 1);
15831 {
15832 setState(2470);
15833 _errHandler.sync(this);
15834 _la = _input.LA(1);
15835 if (_la==AS) {
15836 {
15837 setState(2468);
15838 match(AS);
15839 setState(2469);
15840 match(FILETABLE);
15841 }
15842 }
15843
15844 }
15845 }
15846 catch (RecognitionException re) {
15847 _localctx.exception = re;
15848 _errHandler.reportError(this, re);
15849 _errHandler.recover(this, re);
15850 }
15851 finally {
15852 exitRule();
15853 }
15854 return _localctx;
15855 }
15856
15857 public static class CreateDefinitionClauseContext extends ParserRuleContext {
15858 public CreateTableDefinitionsContext createTableDefinitions() {
15859 return getRuleContext(CreateTableDefinitionsContext.class,0);
15860 }
15861 public PartitionSchemeContext partitionScheme() {
15862 return getRuleContext(PartitionSchemeContext.class,0);
15863 }
15864 public FileGroupContext fileGroup() {
15865 return getRuleContext(FileGroupContext.class,0);
15866 }
15867 public CreateDefinitionClauseContext(ParserRuleContext parent, int invokingState) {
15868 super(parent, invokingState);
15869 }
15870 @Override public int getRuleIndex() { return RULE_createDefinitionClause; }
15871 @Override
15872 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15873 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateDefinitionClause(this);
15874 else return visitor.visitChildren(this);
15875 }
15876 }
15877
15878 public final CreateDefinitionClauseContext createDefinitionClause() throws RecognitionException {
15879 CreateDefinitionClauseContext _localctx = new CreateDefinitionClauseContext(_ctx, getState());
15880 enterRule(_localctx, 334, RULE_createDefinitionClause);
15881 try {
15882 enterOuterAlt(_localctx, 1);
15883 {
15884 setState(2472);
15885 createTableDefinitions();
15886 setState(2473);
15887 partitionScheme();
15888 setState(2474);
15889 fileGroup();
15890 }
15891 }
15892 catch (RecognitionException re) {
15893 _localctx.exception = re;
15894 _errHandler.reportError(this, re);
15895 _errHandler.recover(this, re);
15896 }
15897 finally {
15898 exitRule();
15899 }
15900 return _localctx;
15901 }
15902
15903 public static class CreateTableDefinitionsContext extends ParserRuleContext {
15904 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
15905 public List<CreateTableDefinitionContext> createTableDefinition() {
15906 return getRuleContexts(CreateTableDefinitionContext.class);
15907 }
15908 public CreateTableDefinitionContext createTableDefinition(int i) {
15909 return getRuleContext(CreateTableDefinitionContext.class,i);
15910 }
15911 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
15912 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
15913 public TerminalNode COMMA_(int i) {
15914 return getToken(SQLServerStatementParser.COMMA_, i);
15915 }
15916 public PeriodClauseContext periodClause() {
15917 return getRuleContext(PeriodClauseContext.class,0);
15918 }
15919 public CreateTableDefinitionsContext(ParserRuleContext parent, int invokingState) {
15920 super(parent, invokingState);
15921 }
15922 @Override public int getRuleIndex() { return RULE_createTableDefinitions; }
15923 @Override
15924 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15925 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableDefinitions(this);
15926 else return visitor.visitChildren(this);
15927 }
15928 }
15929
15930 public final CreateTableDefinitionsContext createTableDefinitions() throws RecognitionException {
15931 CreateTableDefinitionsContext _localctx = new CreateTableDefinitionsContext(_ctx, getState());
15932 enterRule(_localctx, 336, RULE_createTableDefinitions);
15933 int _la;
15934 try {
15935 int _alt;
15936 enterOuterAlt(_localctx, 1);
15937 {
15938 setState(2476);
15939 match(LP_);
15940 setState(2477);
15941 createTableDefinition();
15942 setState(2482);
15943 _errHandler.sync(this);
15944 _alt = getInterpreter().adaptivePredict(_input,181,_ctx);
15945 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
15946 if ( _alt==1 ) {
15947 {
15948 {
15949 setState(2478);
15950 match(COMMA_);
15951 setState(2479);
15952 createTableDefinition();
15953 }
15954 }
15955 }
15956 setState(2484);
15957 _errHandler.sync(this);
15958 _alt = getInterpreter().adaptivePredict(_input,181,_ctx);
15959 }
15960 setState(2487);
15961 _errHandler.sync(this);
15962 _la = _input.LA(1);
15963 if (_la==COMMA_) {
15964 {
15965 setState(2485);
15966 match(COMMA_);
15967 setState(2486);
15968 periodClause();
15969 }
15970 }
15971
15972 setState(2489);
15973 match(RP_);
15974 }
15975 }
15976 catch (RecognitionException re) {
15977 _localctx.exception = re;
15978 _errHandler.reportError(this, re);
15979 _errHandler.recover(this, re);
15980 }
15981 finally {
15982 exitRule();
15983 }
15984 return _localctx;
15985 }
15986
15987 public static class CreateTableDefinitionContext extends ParserRuleContext {
15988 public ColumnDefinitionContext columnDefinition() {
15989 return getRuleContext(ColumnDefinitionContext.class,0);
15990 }
15991 public ComputedColumnDefinitionContext computedColumnDefinition() {
15992 return getRuleContext(ComputedColumnDefinitionContext.class,0);
15993 }
15994 public ColumnSetDefinitionContext columnSetDefinition() {
15995 return getRuleContext(ColumnSetDefinitionContext.class,0);
15996 }
15997 public TableConstraintContext tableConstraint() {
15998 return getRuleContext(TableConstraintContext.class,0);
15999 }
16000 public TableIndexContext tableIndex() {
16001 return getRuleContext(TableIndexContext.class,0);
16002 }
16003 public CreateTableDefinitionContext(ParserRuleContext parent, int invokingState) {
16004 super(parent, invokingState);
16005 }
16006 @Override public int getRuleIndex() { return RULE_createTableDefinition; }
16007 @Override
16008 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16009 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableDefinition(this);
16010 else return visitor.visitChildren(this);
16011 }
16012 }
16013
16014 public final CreateTableDefinitionContext createTableDefinition() throws RecognitionException {
16015 CreateTableDefinitionContext _localctx = new CreateTableDefinitionContext(_ctx, getState());
16016 enterRule(_localctx, 338, RULE_createTableDefinition);
16017 try {
16018 setState(2496);
16019 _errHandler.sync(this);
16020 switch ( getInterpreter().adaptivePredict(_input,183,_ctx) ) {
16021 case 1:
16022 enterOuterAlt(_localctx, 1);
16023 {
16024 setState(2491);
16025 columnDefinition();
16026 }
16027 break;
16028 case 2:
16029 enterOuterAlt(_localctx, 2);
16030 {
16031 setState(2492);
16032 computedColumnDefinition();
16033 }
16034 break;
16035 case 3:
16036 enterOuterAlt(_localctx, 3);
16037 {
16038 setState(2493);
16039 columnSetDefinition();
16040 }
16041 break;
16042 case 4:
16043 enterOuterAlt(_localctx, 4);
16044 {
16045 setState(2494);
16046 tableConstraint();
16047 }
16048 break;
16049 case 5:
16050 enterOuterAlt(_localctx, 5);
16051 {
16052 setState(2495);
16053 tableIndex();
16054 }
16055 break;
16056 }
16057 }
16058 catch (RecognitionException re) {
16059 _localctx.exception = re;
16060 _errHandler.reportError(this, re);
16061 _errHandler.recover(this, re);
16062 }
16063 finally {
16064 exitRule();
16065 }
16066 return _localctx;
16067 }
16068
16069 public static class ColumnDefinitionContext extends ParserRuleContext {
16070 public ColumnNameContext columnName() {
16071 return getRuleContext(ColumnNameContext.class,0);
16072 }
16073 public DataTypeContext dataType() {
16074 return getRuleContext(DataTypeContext.class,0);
16075 }
16076 public ColumnConstraintsContext columnConstraints() {
16077 return getRuleContext(ColumnConstraintsContext.class,0);
16078 }
16079 public List<ColumnDefinitionOptionContext> columnDefinitionOption() {
16080 return getRuleContexts(ColumnDefinitionOptionContext.class);
16081 }
16082 public ColumnDefinitionOptionContext columnDefinitionOption(int i) {
16083 return getRuleContext(ColumnDefinitionOptionContext.class,i);
16084 }
16085 public ColumnIndexContext columnIndex() {
16086 return getRuleContext(ColumnIndexContext.class,0);
16087 }
16088 public ColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
16089 super(parent, invokingState);
16090 }
16091 @Override public int getRuleIndex() { return RULE_columnDefinition; }
16092 @Override
16093 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16094 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnDefinition(this);
16095 else return visitor.visitChildren(this);
16096 }
16097 }
16098
16099 public final ColumnDefinitionContext columnDefinition() throws RecognitionException {
16100 ColumnDefinitionContext _localctx = new ColumnDefinitionContext(_ctx, getState());
16101 enterRule(_localctx, 340, RULE_columnDefinition);
16102 int _la;
16103 try {
16104 int _alt;
16105 enterOuterAlt(_localctx, 1);
16106 {
16107 setState(2498);
16108 columnName();
16109 setState(2499);
16110 dataType();
16111 setState(2503);
16112 _errHandler.sync(this);
16113 _alt = getInterpreter().adaptivePredict(_input,184,_ctx);
16114 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
16115 if ( _alt==1 ) {
16116 {
16117 {
16118 setState(2500);
16119 columnDefinitionOption();
16120 }
16121 }
16122 }
16123 setState(2505);
16124 _errHandler.sync(this);
16125 _alt = getInterpreter().adaptivePredict(_input,184,_ctx);
16126 }
16127 setState(2506);
16128 columnConstraints();
16129 setState(2508);
16130 _errHandler.sync(this);
16131 _la = _input.LA(1);
16132 if (_la==INDEX) {
16133 {
16134 setState(2507);
16135 columnIndex();
16136 }
16137 }
16138
16139 }
16140 }
16141 catch (RecognitionException re) {
16142 _localctx.exception = re;
16143 _errHandler.reportError(this, re);
16144 _errHandler.recover(this, re);
16145 }
16146 finally {
16147 exitRule();
16148 }
16149 return _localctx;
16150 }
16151
16152 public static class ColumnDefinitionOptionContext extends ParserRuleContext {
16153 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
16154 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
16155 public CollationNameContext collationName() {
16156 return getRuleContext(CollationNameContext.class,0);
16157 }
16158 public TerminalNode SPARSE() { return getToken(SQLServerStatementParser.SPARSE, 0); }
16159 public TerminalNode MASKED() { return getToken(SQLServerStatementParser.MASKED, 0); }
16160 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
16161 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
16162 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
16163 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
16164 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
16165 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
16166 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
16167 public ExprContext expr() {
16168 return getRuleContext(ExprContext.class,0);
16169 }
16170 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
16171 public IgnoredIdentifierContext ignoredIdentifier() {
16172 return getRuleContext(IgnoredIdentifierContext.class,0);
16173 }
16174 public TerminalNode IDENTITY() { return getToken(SQLServerStatementParser.IDENTITY, 0); }
16175 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
16176 public TerminalNode NUMBER_(int i) {
16177 return getToken(SQLServerStatementParser.NUMBER_, i);
16178 }
16179 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
16180 public TerminalNode COMMA_(int i) {
16181 return getToken(SQLServerStatementParser.COMMA_, i);
16182 }
16183 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
16184 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
16185 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
16186 public TerminalNode GENERATED() { return getToken(SQLServerStatementParser.GENERATED, 0); }
16187 public TerminalNode ALWAYS() { return getToken(SQLServerStatementParser.ALWAYS, 0); }
16188 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
16189 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
16190 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
16191 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
16192 public TerminalNode HIDDEN_() { return getToken(SQLServerStatementParser.HIDDEN_, 0); }
16193 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
16194 public TerminalNode ROWGUIDCOL() { return getToken(SQLServerStatementParser.ROWGUIDCOL, 0); }
16195 public TerminalNode ENCRYPTED() { return getToken(SQLServerStatementParser.ENCRYPTED, 0); }
16196 public EncryptedOptionsContext encryptedOptions() {
16197 return getRuleContext(EncryptedOptionsContext.class,0);
16198 }
16199 public List<ColumnConstraintContext> columnConstraint() {
16200 return getRuleContexts(ColumnConstraintContext.class);
16201 }
16202 public ColumnConstraintContext columnConstraint(int i) {
16203 return getRuleContext(ColumnConstraintContext.class,i);
16204 }
16205 public ColumnIndexContext columnIndex() {
16206 return getRuleContext(ColumnIndexContext.class,0);
16207 }
16208 public ColumnDefinitionOptionContext(ParserRuleContext parent, int invokingState) {
16209 super(parent, invokingState);
16210 }
16211 @Override public int getRuleIndex() { return RULE_columnDefinitionOption; }
16212 @Override
16213 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16214 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnDefinitionOption(this);
16215 else return visitor.visitChildren(this);
16216 }
16217 }
16218
16219 public final ColumnDefinitionOptionContext columnDefinitionOption() throws RecognitionException {
16220 ColumnDefinitionOptionContext _localctx = new ColumnDefinitionOptionContext(_ctx, getState());
16221 enterRule(_localctx, 342, RULE_columnDefinitionOption);
16222 int _la;
16223 try {
16224 int _alt;
16225 setState(2563);
16226 _errHandler.sync(this);
16227 switch ( getInterpreter().adaptivePredict(_input,191,_ctx) ) {
16228 case 1:
16229 enterOuterAlt(_localctx, 1);
16230 {
16231 setState(2510);
16232 match(FILESTREAM);
16233 }
16234 break;
16235 case 2:
16236 enterOuterAlt(_localctx, 2);
16237 {
16238 setState(2511);
16239 match(COLLATE);
16240 setState(2512);
16241 collationName();
16242 }
16243 break;
16244 case 3:
16245 enterOuterAlt(_localctx, 3);
16246 {
16247 setState(2513);
16248 match(SPARSE);
16249 }
16250 break;
16251 case 4:
16252 enterOuterAlt(_localctx, 4);
16253 {
16254 setState(2514);
16255 match(MASKED);
16256 setState(2515);
16257 match(WITH);
16258 setState(2516);
16259 match(LP_);
16260 setState(2517);
16261 match(FUNCTION);
16262 setState(2518);
16263 match(EQ_);
16264 setState(2519);
16265 match(STRING_);
16266 setState(2520);
16267 match(RP_);
16268 }
16269 break;
16270 case 5:
16271 enterOuterAlt(_localctx, 5);
16272 {
16273 setState(2523);
16274 _errHandler.sync(this);
16275 _la = _input.LA(1);
16276 if (_la==CONSTRAINT) {
16277 {
16278 setState(2521);
16279 match(CONSTRAINT);
16280 setState(2522);
16281 ignoredIdentifier();
16282 }
16283 }
16284
16285 setState(2525);
16286 match(DEFAULT);
16287 setState(2526);
16288 expr(0);
16289 }
16290 break;
16291 case 6:
16292 enterOuterAlt(_localctx, 6);
16293 {
16294 setState(2527);
16295 match(IDENTITY);
16296 setState(2533);
16297 _errHandler.sync(this);
16298 _la = _input.LA(1);
16299 if (_la==LP_) {
16300 {
16301 setState(2528);
16302 match(LP_);
16303 setState(2529);
16304 match(NUMBER_);
16305 setState(2530);
16306 match(COMMA_);
16307 setState(2531);
16308 match(NUMBER_);
16309 setState(2532);
16310 match(RP_);
16311 }
16312 }
16313
16314 }
16315 break;
16316 case 7:
16317 enterOuterAlt(_localctx, 7);
16318 {
16319 setState(2535);
16320 match(NOT);
16321 setState(2536);
16322 match(FOR);
16323 setState(2537);
16324 match(REPLICATION);
16325 }
16326 break;
16327 case 8:
16328 enterOuterAlt(_localctx, 8);
16329 {
16330 setState(2538);
16331 match(GENERATED);
16332 setState(2539);
16333 match(ALWAYS);
16334 setState(2540);
16335 match(AS);
16336 setState(2541);
16337 match(ROW);
16338 setState(2542);
16339 _la = _input.LA(1);
16340 if ( !(_la==START || _la==END) ) {
16341 _errHandler.recoverInline(this);
16342 }
16343 else {
16344 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16345 _errHandler.reportMatch(this);
16346 consume();
16347 }
16348 setState(2544);
16349 _errHandler.sync(this);
16350 _la = _input.LA(1);
16351 if (_la==HIDDEN_) {
16352 {
16353 setState(2543);
16354 match(HIDDEN_);
16355 }
16356 }
16357
16358 }
16359 break;
16360 case 9:
16361 enterOuterAlt(_localctx, 9);
16362 {
16363 setState(2547);
16364 _errHandler.sync(this);
16365 _la = _input.LA(1);
16366 if (_la==NOT) {
16367 {
16368 setState(2546);
16369 match(NOT);
16370 }
16371 }
16372
16373 setState(2549);
16374 match(NULL);
16375 }
16376 break;
16377 case 10:
16378 enterOuterAlt(_localctx, 10);
16379 {
16380 setState(2550);
16381 match(ROWGUIDCOL);
16382 }
16383 break;
16384 case 11:
16385 enterOuterAlt(_localctx, 11);
16386 {
16387 setState(2551);
16388 match(ENCRYPTED);
16389 setState(2552);
16390 match(WITH);
16391 setState(2553);
16392 encryptedOptions();
16393 }
16394 break;
16395 case 12:
16396 enterOuterAlt(_localctx, 12);
16397 {
16398 setState(2554);
16399 columnConstraint();
16400 setState(2559);
16401 _errHandler.sync(this);
16402 _alt = getInterpreter().adaptivePredict(_input,190,_ctx);
16403 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
16404 if ( _alt==1 ) {
16405 {
16406 {
16407 setState(2555);
16408 match(COMMA_);
16409 setState(2556);
16410 columnConstraint();
16411 }
16412 }
16413 }
16414 setState(2561);
16415 _errHandler.sync(this);
16416 _alt = getInterpreter().adaptivePredict(_input,190,_ctx);
16417 }
16418 }
16419 break;
16420 case 13:
16421 enterOuterAlt(_localctx, 13);
16422 {
16423 setState(2562);
16424 columnIndex();
16425 }
16426 break;
16427 }
16428 }
16429 catch (RecognitionException re) {
16430 _localctx.exception = re;
16431 _errHandler.reportError(this, re);
16432 _errHandler.recover(this, re);
16433 }
16434 finally {
16435 exitRule();
16436 }
16437 return _localctx;
16438 }
16439
16440 public static class EncryptedOptionsContext extends ParserRuleContext {
16441 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
16442 public TerminalNode COLUMN_ENCRYPTION_KEY() { return getToken(SQLServerStatementParser.COLUMN_ENCRYPTION_KEY, 0); }
16443 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
16444 public TerminalNode EQ_(int i) {
16445 return getToken(SQLServerStatementParser.EQ_, i);
16446 }
16447 public IgnoredIdentifierContext ignoredIdentifier() {
16448 return getRuleContext(IgnoredIdentifierContext.class,0);
16449 }
16450 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
16451 public TerminalNode COMMA_(int i) {
16452 return getToken(SQLServerStatementParser.COMMA_, i);
16453 }
16454 public TerminalNode ENCRYPTION_TYPE() { return getToken(SQLServerStatementParser.ENCRYPTION_TYPE, 0); }
16455 public TerminalNode ALGORITHM() { return getToken(SQLServerStatementParser.ALGORITHM, 0); }
16456 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
16457 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
16458 public TerminalNode DETERMINISTIC() { return getToken(SQLServerStatementParser.DETERMINISTIC, 0); }
16459 public TerminalNode RANDOMIZED() { return getToken(SQLServerStatementParser.RANDOMIZED, 0); }
16460 public EncryptedOptionsContext(ParserRuleContext parent, int invokingState) {
16461 super(parent, invokingState);
16462 }
16463 @Override public int getRuleIndex() { return RULE_encryptedOptions; }
16464 @Override
16465 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16466 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEncryptedOptions(this);
16467 else return visitor.visitChildren(this);
16468 }
16469 }
16470
16471 public final EncryptedOptionsContext encryptedOptions() throws RecognitionException {
16472 EncryptedOptionsContext _localctx = new EncryptedOptionsContext(_ctx, getState());
16473 enterRule(_localctx, 344, RULE_encryptedOptions);
16474 int _la;
16475 try {
16476 enterOuterAlt(_localctx, 1);
16477 {
16478 setState(2565);
16479 match(LP_);
16480 setState(2566);
16481 match(COLUMN_ENCRYPTION_KEY);
16482 setState(2567);
16483 match(EQ_);
16484 setState(2568);
16485 ignoredIdentifier();
16486 setState(2569);
16487 match(COMMA_);
16488 setState(2570);
16489 match(ENCRYPTION_TYPE);
16490 setState(2571);
16491 match(EQ_);
16492 setState(2572);
16493 _la = _input.LA(1);
16494 if ( !(_la==DETERMINISTIC || _la==RANDOMIZED) ) {
16495 _errHandler.recoverInline(this);
16496 }
16497 else {
16498 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16499 _errHandler.reportMatch(this);
16500 consume();
16501 }
16502 setState(2573);
16503 match(COMMA_);
16504 setState(2574);
16505 match(ALGORITHM);
16506 setState(2575);
16507 match(EQ_);
16508 setState(2576);
16509 match(STRING_);
16510 setState(2577);
16511 match(RP_);
16512 }
16513 }
16514 catch (RecognitionException re) {
16515 _localctx.exception = re;
16516 _errHandler.reportError(this, re);
16517 _errHandler.recover(this, re);
16518 }
16519 finally {
16520 exitRule();
16521 }
16522 return _localctx;
16523 }
16524
16525 public static class ColumnConstraintContext extends ParserRuleContext {
16526 public PrimaryKeyConstraintContext primaryKeyConstraint() {
16527 return getRuleContext(PrimaryKeyConstraintContext.class,0);
16528 }
16529 public ColumnForeignKeyConstraintContext columnForeignKeyConstraint() {
16530 return getRuleContext(ColumnForeignKeyConstraintContext.class,0);
16531 }
16532 public CheckConstraintContext checkConstraint() {
16533 return getRuleContext(CheckConstraintContext.class,0);
16534 }
16535 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
16536 public ConstraintNameContext constraintName() {
16537 return getRuleContext(ConstraintNameContext.class,0);
16538 }
16539 public ColumnConstraintContext(ParserRuleContext parent, int invokingState) {
16540 super(parent, invokingState);
16541 }
16542 @Override public int getRuleIndex() { return RULE_columnConstraint; }
16543 @Override
16544 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16545 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnConstraint(this);
16546 else return visitor.visitChildren(this);
16547 }
16548 }
16549
16550 public final ColumnConstraintContext columnConstraint() throws RecognitionException {
16551 ColumnConstraintContext _localctx = new ColumnConstraintContext(_ctx, getState());
16552 enterRule(_localctx, 346, RULE_columnConstraint);
16553 int _la;
16554 try {
16555 enterOuterAlt(_localctx, 1);
16556 {
16557 setState(2581);
16558 _errHandler.sync(this);
16559 _la = _input.LA(1);
16560 if (_la==CONSTRAINT) {
16561 {
16562 setState(2579);
16563 match(CONSTRAINT);
16564 setState(2580);
16565 constraintName();
16566 }
16567 }
16568
16569 setState(2586);
16570 _errHandler.sync(this);
16571 switch (_input.LA(1)) {
16572 case PRIMARY:
16573 case UNIQUE:
16574 case KEY:
16575 {
16576 setState(2583);
16577 primaryKeyConstraint();
16578 }
16579 break;
16580 case FOREIGN:
16581 case REFERENCES:
16582 {
16583 setState(2584);
16584 columnForeignKeyConstraint();
16585 }
16586 break;
16587 case CHECK:
16588 {
16589 setState(2585);
16590 checkConstraint();
16591 }
16592 break;
16593 default:
16594 throw new NoViableAltException(this);
16595 }
16596 }
16597 }
16598 catch (RecognitionException re) {
16599 _localctx.exception = re;
16600 _errHandler.reportError(this, re);
16601 _errHandler.recover(this, re);
16602 }
16603 finally {
16604 exitRule();
16605 }
16606 return _localctx;
16607 }
16608
16609 public static class ComputedColumnConstraintContext extends ParserRuleContext {
16610 public PrimaryKeyConstraintContext primaryKeyConstraint() {
16611 return getRuleContext(PrimaryKeyConstraintContext.class,0);
16612 }
16613 public ComputedColumnForeignKeyConstraintContext computedColumnForeignKeyConstraint() {
16614 return getRuleContext(ComputedColumnForeignKeyConstraintContext.class,0);
16615 }
16616 public CheckConstraintContext checkConstraint() {
16617 return getRuleContext(CheckConstraintContext.class,0);
16618 }
16619 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
16620 public ConstraintNameContext constraintName() {
16621 return getRuleContext(ConstraintNameContext.class,0);
16622 }
16623 public ComputedColumnConstraintContext(ParserRuleContext parent, int invokingState) {
16624 super(parent, invokingState);
16625 }
16626 @Override public int getRuleIndex() { return RULE_computedColumnConstraint; }
16627 @Override
16628 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16629 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnConstraint(this);
16630 else return visitor.visitChildren(this);
16631 }
16632 }
16633
16634 public final ComputedColumnConstraintContext computedColumnConstraint() throws RecognitionException {
16635 ComputedColumnConstraintContext _localctx = new ComputedColumnConstraintContext(_ctx, getState());
16636 enterRule(_localctx, 348, RULE_computedColumnConstraint);
16637 int _la;
16638 try {
16639 enterOuterAlt(_localctx, 1);
16640 {
16641 setState(2590);
16642 _errHandler.sync(this);
16643 _la = _input.LA(1);
16644 if (_la==CONSTRAINT) {
16645 {
16646 setState(2588);
16647 match(CONSTRAINT);
16648 setState(2589);
16649 constraintName();
16650 }
16651 }
16652
16653 setState(2595);
16654 _errHandler.sync(this);
16655 switch (_input.LA(1)) {
16656 case PRIMARY:
16657 case UNIQUE:
16658 case KEY:
16659 {
16660 setState(2592);
16661 primaryKeyConstraint();
16662 }
16663 break;
16664 case DOT_:
16665 case TRUNCATE:
16666 case SCHEMA:
16667 case COLUMNS:
16668 case FOREIGN:
16669 case PRECISION:
16670 case FUNCTION:
16671 case TRIGGER:
16672 case CAST:
16673 case TRIM:
16674 case SUBSTRING:
16675 case OFF:
16676 case GROUP:
16677 case LIMIT:
16678 case OFFSET:
16679 case SAVEPOINT:
16680 case BOOLEAN:
16681 case ARRAY:
16682 case DATE:
16683 case TIMESTAMP:
16684 case LOCALTIME:
16685 case LOCALTIMESTAMP:
16686 case YEAR:
16687 case QUARTER:
16688 case MONTH:
16689 case WEEK:
16690 case DAY:
16691 case SECOND:
16692 case MICROSECOND:
16693 case MAX:
16694 case MIN:
16695 case SUM:
16696 case COUNT:
16697 case AVG:
16698 case ENABLE:
16699 case DISABLE:
16700 case INSTANCE:
16701 case DO:
16702 case DEFINER:
16703 case SQL:
16704 case CASCADED:
16705 case LOCAL:
16706 case NEXT:
16707 case NAME:
16708 case INTEGER:
16709 case TYPE:
16710 case TEXT:
16711 case VIEWS:
16712 case READ_ONLY:
16713 case DATABASE:
16714 case RETURNS:
16715 case DATEPART:
16716 case PASSWORD:
16717 case BINARY:
16718 case HIDDEN_:
16719 case MOD:
16720 case PARTITION:
16721 case PARTITIONS:
16722 case TOP:
16723 case ROW:
16724 case ROWS:
16725 case XOR:
16726 case ALWAYS:
16727 case ROLE:
16728 case START:
16729 case ALGORITHM:
16730 case AUTO:
16731 case BLOCKERS:
16732 case CLUSTERED:
16733 case NONCLUSTERED:
16734 case COLUMNSTORE:
16735 case CONTENT:
16736 case YEARS:
16737 case MONTHS:
16738 case WEEKS:
16739 case DAYS:
16740 case MINUTES:
16741 case DENY:
16742 case DETERMINISTIC:
16743 case DISTRIBUTION:
16744 case DOCUMENT:
16745 case DURABILITY:
16746 case ENCRYPTED:
16747 case FILESTREAM:
16748 case FILETABLE:
16749 case FILLFACTOR:
16750 case FOLLOWING:
16751 case HASH:
16752 case HEAP:
16753 case INBOUND:
16754 case OUTBOUND:
16755 case UNBOUNDED:
16756 case INFINITE:
16757 case LOGIN:
16758 case MASKED:
16759 case MAXDOP:
16760 case MOVE:
16761 case NOCHECK:
16762 case OBJECT:
16763 case ONLINE:
16764 case OVER:
16765 case PAGE:
16766 case PAUSED:
16767 case PERIOD:
16768 case PERSISTED:
16769 case PRECEDING:
16770 case RANDOMIZED:
16771 case RANGE:
16772 case REBUILD:
16773 case REPLICATE:
16774 case REPLICATION:
16775 case RESUMABLE:
16776 case ROWGUIDCOL:
16777 case SAVE:
16778 case SELF:
16779 case SPARSE:
16780 case SWITCH:
16781 case TRAN:
16782 case TRANCOUNT:
16783 case CONTROL:
16784 case CONCAT:
16785 case TAKE:
16786 case OWNERSHIP:
16787 case DEFINITION:
16788 case APPLICATION:
16789 case ASSEMBLY:
16790 case SYMMETRIC:
16791 case ASYMMETRIC:
16792 case SERVER:
16793 case RECEIVE:
16794 case CHANGE:
16795 case TRACE:
16796 case TRACKING:
16797 case RESOURCES:
16798 case SETTINGS:
16799 case STATE:
16800 case AVAILABILITY:
16801 case CREDENTIAL:
16802 case ENDPOINT:
16803 case EVENT:
16804 case NOTIFICATION:
16805 case LINKED:
16806 case AUDIT:
16807 case DDL:
16808 case XML:
16809 case IMPERSONATE:
16810 case SECURABLES:
16811 case AUTHENTICATE:
16812 case EXTERNAL:
16813 case ACCESS:
16814 case ADMINISTER:
16815 case BULK:
16816 case OPERATIONS:
16817 case UNSAFE:
16818 case SHUTDOWN:
16819 case SCOPED:
16820 case CONFIGURATION:
16821 case DATASPACE:
16822 case SERVICE:
16823 case CERTIFICATE:
16824 case CONTRACT:
16825 case ENCRYPTION:
16826 case MASTER:
16827 case DATA:
16828 case SOURCE:
16829 case FILE:
16830 case FORMAT:
16831 case LIBRARY:
16832 case FULLTEXT:
16833 case MASK:
16834 case UNMASK:
16835 case MESSAGE:
16836 case REMOTE:
16837 case BINDING:
16838 case ROUTE:
16839 case SECURITY:
16840 case POLICY:
16841 case AGGREGATE:
16842 case QUEUE:
16843 case RULE:
16844 case SYNONYM:
16845 case COLLECTION:
16846 case SCRIPT:
16847 case KILL:
16848 case BACKUP:
16849 case LOG:
16850 case SHOWPLAN:
16851 case SUBSCRIBE:
16852 case QUERY:
16853 case NOTIFICATIONS:
16854 case CHECKPOINT:
16855 case SEQUENCE:
16856 case ABORT_AFTER_WAIT:
16857 case ALLOW_PAGE_LOCKS:
16858 case ALLOW_ROW_LOCKS:
16859 case ALL_SPARSE_COLUMNS:
16860 case BUCKET_COUNT:
16861 case COLUMNSTORE_ARCHIVE:
16862 case COLUMN_ENCRYPTION_KEY:
16863 case COLUMN_SET:
16864 case COMPRESSION_DELAY:
16865 case DATABASE_DEAULT:
16866 case DATA_COMPRESSION:
16867 case DATA_CONSISTENCY_CHECK:
16868 case ENCRYPTION_TYPE:
16869 case SYSTEM_TIME:
16870 case SYSTEM_VERSIONING:
16871 case TEXTIMAGE_ON:
16872 case WAIT_AT_LOW_PRIORITY:
16873 case STATISTICS_INCREMENTAL:
16874 case STATISTICS_NORECOMPUTE:
16875 case ROUND_ROBIN:
16876 case SCHEMA_AND_DATA:
16877 case SCHEMA_ONLY:
16878 case SORT_IN_TEMPDB:
16879 case IGNORE_DUP_KEY:
16880 case IMPLICIT_TRANSACTIONS:
16881 case MAX_DURATION:
16882 case MEMORY_OPTIMIZED:
16883 case MIGRATION_STATE:
16884 case PAD_INDEX:
16885 case REMOTE_DATA_ARCHIVE:
16886 case FILESTREAM_ON:
16887 case FILETABLE_COLLATE_FILENAME:
16888 case FILETABLE_DIRECTORY:
16889 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
16890 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
16891 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
16892 case FILTER_PREDICATE:
16893 case HISTORY_RETENTION_PERIOD:
16894 case HISTORY_TABLE:
16895 case LOCK_ESCALATION:
16896 case DROP_EXISTING:
16897 case ROW_NUMBER:
16898 case FIRST:
16899 case DATETIME2:
16900 case OUTPUT:
16901 case INSERTED:
16902 case DELETED:
16903 case FILENAME:
16904 case SIZE:
16905 case MAXSIZE:
16906 case FILEGROWTH:
16907 case UNLIMITED:
16908 case KB:
16909 case MB:
16910 case GB:
16911 case TB:
16912 case CONTAINS:
16913 case MEMORY_OPTIMIZED_DATA:
16914 case FILEGROUP:
16915 case NON_TRANSACTED_ACCESS:
16916 case DB_CHAINING:
16917 case TRUSTWORTHY:
16918 case FORWARD_ONLY:
16919 case KEYSET:
16920 case FAST_FORWARD:
16921 case SCROLL_LOCKS:
16922 case OPTIMISTIC:
16923 case TYPE_WARNING:
16924 case SCHEMABINDING:
16925 case CALLER:
16926 case INPUT:
16927 case OWNER:
16928 case SNAPSHOT:
16929 case REPEATABLE:
16930 case SERIALIZABLE:
16931 case NATIVE_COMPILATION:
16932 case VIEW_METADATA:
16933 case INSTEAD:
16934 case APPEND:
16935 case INCREMENT:
16936 case CACHE:
16937 case MINVALUE:
16938 case MAXVALUE:
16939 case RESTART:
16940 case LOB_COMPACTION:
16941 case COMPRESS_ALL_ROW_GROUPS:
16942 case REORGANIZE:
16943 case RESUME:
16944 case PAUSE:
16945 case ABORT:
16946 case ACCELERATED_DATABASE_RECOVERY:
16947 case PERSISTENT_VERSION_STORE_FILEGROUP:
16948 case IMMEDIATE:
16949 case NO_WAIT:
16950 case TARGET_RECOVERY_TIME:
16951 case SECONDS:
16952 case HONOR_BROKER_PRIORITY:
16953 case ERROR_BROKER_CONVERSATIONS:
16954 case NEW_BROKER:
16955 case DISABLE_BROKER:
16956 case ENABLE_BROKER:
16957 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
16958 case READ_COMMITTED_SNAPSHOT:
16959 case ALLOW_SNAPSHOT_ISOLATION:
16960 case RECURSIVE_TRIGGERS:
16961 case QUOTED_IDENTIFIER:
16962 case NUMERIC_ROUNDABORT:
16963 case CONCAT_NULL_YIELDS_NULL:
16964 case COMPATIBILITY_LEVEL:
16965 case ARITHABORT:
16966 case ANSI_WARNINGS:
16967 case ANSI_PADDING:
16968 case ANSI_NULLS:
16969 case ANSI_NULL_DEFAULT:
16970 case PAGE_VERIFY:
16971 case CHECKSUM:
16972 case TORN_PAGE_DETECTION:
16973 case BULK_LOGGED:
16974 case RECOVERY:
16975 case TOTAL_EXECUTION_CPU_TIME_MS:
16976 case TOTAL_COMPILE_CPU_TIME_MS:
16977 case STALE_CAPTURE_POLICY_THRESHOLD:
16978 case EXECUTION_COUNT:
16979 case QUERY_CAPTURE_POLICY:
16980 case WAIT_STATS_CAPTURE_MODE:
16981 case MAX_PLANS_PER_QUERY:
16982 case QUERY_CAPTURE_MODE:
16983 case SIZE_BASED_CLEANUP_MODE:
16984 case INTERVAL_LENGTH_MINUTES:
16985 case MAX_STORAGE_SIZE_MB:
16986 case DATA_FLUSH_INTERVAL_SECONDS:
16987 case CLEANUP_POLICY:
16988 case CUSTOM:
16989 case STALE_QUERY_THRESHOLD_DAYS:
16990 case OPERATION_MODE:
16991 case QUERY_STORE:
16992 case CURSOR_DEFAULT:
16993 case GLOBAL:
16994 case CURSOR_CLOSE_ON_COMMIT:
16995 case HOURS:
16996 case CHANGE_RETENTION:
16997 case AUTO_CLEANUP:
16998 case CHANGE_TRACKING:
16999 case AUTOMATIC_TUNING:
17000 case FORCE_LAST_GOOD_PLAN:
17001 case AUTO_UPDATE_STATISTICS_ASYNC:
17002 case AUTO_UPDATE_STATISTICS:
17003 case AUTO_SHRINK:
17004 case AUTO_CREATE_STATISTICS:
17005 case INCREMENTAL:
17006 case AUTO_CLOSE:
17007 case DATA_RETENTION:
17008 case TEMPORAL_HISTORY_RETENTION:
17009 case EDITION:
17010 case MIXED_PAGE_ALLOCATION:
17011 case DISABLED:
17012 case ALLOWED:
17013 case HADR:
17014 case MULTI_USER:
17015 case RESTRICTED_USER:
17016 case SINGLE_USER:
17017 case OFFLINE:
17018 case EMERGENCY:
17019 case SUSPEND:
17020 case DATE_CORRELATION_OPTIMIZATION:
17021 case ELASTIC_POOL:
17022 case SERVICE_OBJECTIVE:
17023 case DATABASE_NAME:
17024 case ALLOW_CONNECTIONS:
17025 case GEO:
17026 case NAMED:
17027 case DATEFIRST:
17028 case BACKUP_STORAGE_REDUNDANCY:
17029 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
17030 case SECONDARY:
17031 case FAILOVER:
17032 case DEFAULT_FULLTEXT_LANGUAGE:
17033 case DEFAULT_LANGUAGE:
17034 case INLINE:
17035 case NESTED_TRIGGERS:
17036 case TRANSFORM_NOISE_WORDS:
17037 case TWO_DIGIT_YEAR_CUTOFF:
17038 case PERSISTENT_LOG_BUFFER:
17039 case DIRECTORY_NAME:
17040 case DATEFORMAT:
17041 case DELAYED_DURABILITY:
17042 case AUTHORIZATION:
17043 case TRANSFER:
17044 case PROVIDER:
17045 case SEARCH:
17046 case MEMBER:
17047 case IDENTIFIER_:
17048 case DELIMITED_IDENTIFIER_:
17049 {
17050 setState(2593);
17051 computedColumnForeignKeyConstraint();
17052 }
17053 break;
17054 case CHECK:
17055 {
17056 setState(2594);
17057 checkConstraint();
17058 }
17059 break;
17060 default:
17061 throw new NoViableAltException(this);
17062 }
17063 }
17064 }
17065 catch (RecognitionException re) {
17066 _localctx.exception = re;
17067 _errHandler.reportError(this, re);
17068 _errHandler.recover(this, re);
17069 }
17070 finally {
17071 exitRule();
17072 }
17073 return _localctx;
17074 }
17075
17076 public static class ComputedColumnForeignKeyConstraintContext extends ParserRuleContext {
17077 public TableNameContext tableName() {
17078 return getRuleContext(TableNameContext.class,0);
17079 }
17080 public TerminalNode FOREIGN() { return getToken(SQLServerStatementParser.FOREIGN, 0); }
17081 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
17082 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
17083 public ColumnNameContext columnName() {
17084 return getRuleContext(ColumnNameContext.class,0);
17085 }
17086 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
17087 public List<ComputedColumnForeignKeyOnActionContext> computedColumnForeignKeyOnAction() {
17088 return getRuleContexts(ComputedColumnForeignKeyOnActionContext.class);
17089 }
17090 public ComputedColumnForeignKeyOnActionContext computedColumnForeignKeyOnAction(int i) {
17091 return getRuleContext(ComputedColumnForeignKeyOnActionContext.class,i);
17092 }
17093 public ComputedColumnForeignKeyConstraintContext(ParserRuleContext parent, int invokingState) {
17094 super(parent, invokingState);
17095 }
17096 @Override public int getRuleIndex() { return RULE_computedColumnForeignKeyConstraint; }
17097 @Override
17098 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17099 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnForeignKeyConstraint(this);
17100 else return visitor.visitChildren(this);
17101 }
17102 }
17103
17104 public final ComputedColumnForeignKeyConstraintContext computedColumnForeignKeyConstraint() throws RecognitionException {
17105 ComputedColumnForeignKeyConstraintContext _localctx = new ComputedColumnForeignKeyConstraintContext(_ctx, getState());
17106 enterRule(_localctx, 350, RULE_computedColumnForeignKeyConstraint);
17107 int _la;
17108 try {
17109 enterOuterAlt(_localctx, 1);
17110 {
17111 setState(2599);
17112 _errHandler.sync(this);
17113 _la = _input.LA(1);
17114 if (_la==FOREIGN) {
17115 {
17116 setState(2597);
17117 match(FOREIGN);
17118 setState(2598);
17119 match(KEY);
17120 }
17121 }
17122
17123 setState(2601);
17124 tableName();
17125 setState(2606);
17126 _errHandler.sync(this);
17127 switch ( getInterpreter().adaptivePredict(_input,197,_ctx) ) {
17128 case 1:
17129 {
17130 setState(2602);
17131 match(LP_);
17132 setState(2603);
17133 columnName();
17134 setState(2604);
17135 match(RP_);
17136 }
17137 break;
17138 }
17139 setState(2611);
17140 _errHandler.sync(this);
17141 _la = _input.LA(1);
17142 while (_la==ON || _la==NOT) {
17143 {
17144 {
17145 setState(2608);
17146 computedColumnForeignKeyOnAction();
17147 }
17148 }
17149 setState(2613);
17150 _errHandler.sync(this);
17151 _la = _input.LA(1);
17152 }
17153 }
17154 }
17155 catch (RecognitionException re) {
17156 _localctx.exception = re;
17157 _errHandler.reportError(this, re);
17158 _errHandler.recover(this, re);
17159 }
17160 finally {
17161 exitRule();
17162 }
17163 return _localctx;
17164 }
17165
17166 public static class ComputedColumnForeignKeyOnActionContext extends ParserRuleContext {
17167 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
17168 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
17169 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
17170 public TerminalNode ACTION() { return getToken(SQLServerStatementParser.ACTION, 0); }
17171 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
17172 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
17173 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
17174 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
17175 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
17176 public ComputedColumnForeignKeyOnActionContext(ParserRuleContext parent, int invokingState) {
17177 super(parent, invokingState);
17178 }
17179 @Override public int getRuleIndex() { return RULE_computedColumnForeignKeyOnAction; }
17180 @Override
17181 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17182 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnForeignKeyOnAction(this);
17183 else return visitor.visitChildren(this);
17184 }
17185 }
17186
17187 public final ComputedColumnForeignKeyOnActionContext computedColumnForeignKeyOnAction() throws RecognitionException {
17188 ComputedColumnForeignKeyOnActionContext _localctx = new ComputedColumnForeignKeyOnActionContext(_ctx, getState());
17189 enterRule(_localctx, 352, RULE_computedColumnForeignKeyOnAction);
17190 try {
17191 setState(2628);
17192 _errHandler.sync(this);
17193 switch ( getInterpreter().adaptivePredict(_input,200,_ctx) ) {
17194 case 1:
17195 enterOuterAlt(_localctx, 1);
17196 {
17197 setState(2614);
17198 match(ON);
17199 setState(2615);
17200 match(DELETE);
17201 setState(2619);
17202 _errHandler.sync(this);
17203 switch (_input.LA(1)) {
17204 case NO:
17205 {
17206 setState(2616);
17207 match(NO);
17208 setState(2617);
17209 match(ACTION);
17210 }
17211 break;
17212 case CASCADE:
17213 {
17214 setState(2618);
17215 match(CASCADE);
17216 }
17217 break;
17218 default:
17219 throw new NoViableAltException(this);
17220 }
17221 }
17222 break;
17223 case 2:
17224 enterOuterAlt(_localctx, 2);
17225 {
17226 setState(2621);
17227 match(ON);
17228 setState(2622);
17229 match(UPDATE);
17230 setState(2623);
17231 match(NO);
17232 setState(2624);
17233 match(ACTION);
17234 }
17235 break;
17236 case 3:
17237 enterOuterAlt(_localctx, 3);
17238 {
17239 setState(2625);
17240 match(NOT);
17241 setState(2626);
17242 match(FOR);
17243 setState(2627);
17244 match(REPLICATION);
17245 }
17246 break;
17247 }
17248 }
17249 catch (RecognitionException re) {
17250 _localctx.exception = re;
17251 _errHandler.reportError(this, re);
17252 _errHandler.recover(this, re);
17253 }
17254 finally {
17255 exitRule();
17256 }
17257 return _localctx;
17258 }
17259
17260 public static class PrimaryKeyConstraintContext extends ParserRuleContext {
17261 public PrimaryKeyContext primaryKey() {
17262 return getRuleContext(PrimaryKeyContext.class,0);
17263 }
17264 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
17265 public DiskTablePrimaryKeyConstraintOptionContext diskTablePrimaryKeyConstraintOption() {
17266 return getRuleContext(DiskTablePrimaryKeyConstraintOptionContext.class,0);
17267 }
17268 public MemoryTablePrimaryKeyConstraintOptionContext memoryTablePrimaryKeyConstraintOption() {
17269 return getRuleContext(MemoryTablePrimaryKeyConstraintOptionContext.class,0);
17270 }
17271 public PrimaryKeyConstraintContext(ParserRuleContext parent, int invokingState) {
17272 super(parent, invokingState);
17273 }
17274 @Override public int getRuleIndex() { return RULE_primaryKeyConstraint; }
17275 @Override
17276 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17277 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyConstraint(this);
17278 else return visitor.visitChildren(this);
17279 }
17280 }
17281
17282 public final PrimaryKeyConstraintContext primaryKeyConstraint() throws RecognitionException {
17283 PrimaryKeyConstraintContext _localctx = new PrimaryKeyConstraintContext(_ctx, getState());
17284 enterRule(_localctx, 354, RULE_primaryKeyConstraint);
17285 try {
17286 enterOuterAlt(_localctx, 1);
17287 {
17288 setState(2632);
17289 _errHandler.sync(this);
17290 switch (_input.LA(1)) {
17291 case PRIMARY:
17292 case KEY:
17293 {
17294 setState(2630);
17295 primaryKey();
17296 }
17297 break;
17298 case UNIQUE:
17299 {
17300 setState(2631);
17301 match(UNIQUE);
17302 }
17303 break;
17304 default:
17305 throw new NoViableAltException(this);
17306 }
17307 setState(2636);
17308 _errHandler.sync(this);
17309 switch ( getInterpreter().adaptivePredict(_input,202,_ctx) ) {
17310 case 1:
17311 {
17312 setState(2634);
17313 diskTablePrimaryKeyConstraintOption();
17314 }
17315 break;
17316 case 2:
17317 {
17318 setState(2635);
17319 memoryTablePrimaryKeyConstraintOption();
17320 }
17321 break;
17322 }
17323 }
17324 }
17325 catch (RecognitionException re) {
17326 _localctx.exception = re;
17327 _errHandler.reportError(this, re);
17328 _errHandler.recover(this, re);
17329 }
17330 finally {
17331 exitRule();
17332 }
17333 return _localctx;
17334 }
17335
17336 public static class DiskTablePrimaryKeyConstraintOptionContext extends ParserRuleContext {
17337 public ClusterOptionContext clusterOption() {
17338 return getRuleContext(ClusterOptionContext.class,0);
17339 }
17340 public PrimaryKeyWithClauseContext primaryKeyWithClause() {
17341 return getRuleContext(PrimaryKeyWithClauseContext.class,0);
17342 }
17343 public PrimaryKeyOnClauseContext primaryKeyOnClause() {
17344 return getRuleContext(PrimaryKeyOnClauseContext.class,0);
17345 }
17346 public DiskTablePrimaryKeyConstraintOptionContext(ParserRuleContext parent, int invokingState) {
17347 super(parent, invokingState);
17348 }
17349 @Override public int getRuleIndex() { return RULE_diskTablePrimaryKeyConstraintOption; }
17350 @Override
17351 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17352 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDiskTablePrimaryKeyConstraintOption(this);
17353 else return visitor.visitChildren(this);
17354 }
17355 }
17356
17357 public final DiskTablePrimaryKeyConstraintOptionContext diskTablePrimaryKeyConstraintOption() throws RecognitionException {
17358 DiskTablePrimaryKeyConstraintOptionContext _localctx = new DiskTablePrimaryKeyConstraintOptionContext(_ctx, getState());
17359 enterRule(_localctx, 356, RULE_diskTablePrimaryKeyConstraintOption);
17360 int _la;
17361 try {
17362 enterOuterAlt(_localctx, 1);
17363 {
17364 setState(2639);
17365 _errHandler.sync(this);
17366 _la = _input.LA(1);
17367 if (_la==CLUSTERED || _la==NONCLUSTERED) {
17368 {
17369 setState(2638);
17370 clusterOption();
17371 }
17372 }
17373
17374 setState(2642);
17375 _errHandler.sync(this);
17376 switch ( getInterpreter().adaptivePredict(_input,204,_ctx) ) {
17377 case 1:
17378 {
17379 setState(2641);
17380 primaryKeyWithClause();
17381 }
17382 break;
17383 }
17384 setState(2645);
17385 _errHandler.sync(this);
17386 _la = _input.LA(1);
17387 if (_la==ON) {
17388 {
17389 setState(2644);
17390 primaryKeyOnClause();
17391 }
17392 }
17393
17394 }
17395 }
17396 catch (RecognitionException re) {
17397 _localctx.exception = re;
17398 _errHandler.reportError(this, re);
17399 _errHandler.recover(this, re);
17400 }
17401 finally {
17402 exitRule();
17403 }
17404 return _localctx;
17405 }
17406
17407 public static class ClusterOptionContext extends ParserRuleContext {
17408 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
17409 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
17410 public ClusterOptionContext(ParserRuleContext parent, int invokingState) {
17411 super(parent, invokingState);
17412 }
17413 @Override public int getRuleIndex() { return RULE_clusterOption; }
17414 @Override
17415 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17416 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClusterOption(this);
17417 else return visitor.visitChildren(this);
17418 }
17419 }
17420
17421 public final ClusterOptionContext clusterOption() throws RecognitionException {
17422 ClusterOptionContext _localctx = new ClusterOptionContext(_ctx, getState());
17423 enterRule(_localctx, 358, RULE_clusterOption);
17424 int _la;
17425 try {
17426 enterOuterAlt(_localctx, 1);
17427 {
17428 setState(2647);
17429 _la = _input.LA(1);
17430 if ( !(_la==CLUSTERED || _la==NONCLUSTERED) ) {
17431 _errHandler.recoverInline(this);
17432 }
17433 else {
17434 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
17435 _errHandler.reportMatch(this);
17436 consume();
17437 }
17438 }
17439 }
17440 catch (RecognitionException re) {
17441 _localctx.exception = re;
17442 _errHandler.reportError(this, re);
17443 _errHandler.recover(this, re);
17444 }
17445 finally {
17446 exitRule();
17447 }
17448 return _localctx;
17449 }
17450
17451 public static class PrimaryKeyWithClauseContext extends ParserRuleContext {
17452 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
17453 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
17454 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
17455 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
17456 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
17457 public List<IndexOptionContext> indexOption() {
17458 return getRuleContexts(IndexOptionContext.class);
17459 }
17460 public IndexOptionContext indexOption(int i) {
17461 return getRuleContext(IndexOptionContext.class,i);
17462 }
17463 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
17464 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
17465 public TerminalNode COMMA_(int i) {
17466 return getToken(SQLServerStatementParser.COMMA_, i);
17467 }
17468 public PrimaryKeyWithClauseContext(ParserRuleContext parent, int invokingState) {
17469 super(parent, invokingState);
17470 }
17471 @Override public int getRuleIndex() { return RULE_primaryKeyWithClause; }
17472 @Override
17473 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17474 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyWithClause(this);
17475 else return visitor.visitChildren(this);
17476 }
17477 }
17478
17479 public final PrimaryKeyWithClauseContext primaryKeyWithClause() throws RecognitionException {
17480 PrimaryKeyWithClauseContext _localctx = new PrimaryKeyWithClauseContext(_ctx, getState());
17481 enterRule(_localctx, 360, RULE_primaryKeyWithClause);
17482 int _la;
17483 try {
17484 enterOuterAlt(_localctx, 1);
17485 {
17486 setState(2649);
17487 match(WITH);
17488 setState(2664);
17489 _errHandler.sync(this);
17490 switch (_input.LA(1)) {
17491 case FILLFACTOR:
17492 {
17493 setState(2650);
17494 match(FILLFACTOR);
17495 setState(2651);
17496 match(EQ_);
17497 setState(2652);
17498 match(NUMBER_);
17499 }
17500 break;
17501 case LP_:
17502 {
17503 setState(2653);
17504 match(LP_);
17505 setState(2654);
17506 indexOption();
17507 setState(2659);
17508 _errHandler.sync(this);
17509 _la = _input.LA(1);
17510 while (_la==COMMA_) {
17511 {
17512 {
17513 setState(2655);
17514 match(COMMA_);
17515 setState(2656);
17516 indexOption();
17517 }
17518 }
17519 setState(2661);
17520 _errHandler.sync(this);
17521 _la = _input.LA(1);
17522 }
17523 setState(2662);
17524 match(RP_);
17525 }
17526 break;
17527 default:
17528 throw new NoViableAltException(this);
17529 }
17530 }
17531 }
17532 catch (RecognitionException re) {
17533 _localctx.exception = re;
17534 _errHandler.reportError(this, re);
17535 _errHandler.recover(this, re);
17536 }
17537 finally {
17538 exitRule();
17539 }
17540 return _localctx;
17541 }
17542
17543 public static class PrimaryKeyOnClauseContext extends ParserRuleContext {
17544 public OnSchemaColumnContext onSchemaColumn() {
17545 return getRuleContext(OnSchemaColumnContext.class,0);
17546 }
17547 public OnFileGroupContext onFileGroup() {
17548 return getRuleContext(OnFileGroupContext.class,0);
17549 }
17550 public OnStringContext onString() {
17551 return getRuleContext(OnStringContext.class,0);
17552 }
17553 public PrimaryKeyOnClauseContext(ParserRuleContext parent, int invokingState) {
17554 super(parent, invokingState);
17555 }
17556 @Override public int getRuleIndex() { return RULE_primaryKeyOnClause; }
17557 @Override
17558 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17559 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyOnClause(this);
17560 else return visitor.visitChildren(this);
17561 }
17562 }
17563
17564 public final PrimaryKeyOnClauseContext primaryKeyOnClause() throws RecognitionException {
17565 PrimaryKeyOnClauseContext _localctx = new PrimaryKeyOnClauseContext(_ctx, getState());
17566 enterRule(_localctx, 362, RULE_primaryKeyOnClause);
17567 try {
17568 setState(2669);
17569 _errHandler.sync(this);
17570 switch ( getInterpreter().adaptivePredict(_input,208,_ctx) ) {
17571 case 1:
17572 enterOuterAlt(_localctx, 1);
17573 {
17574 setState(2666);
17575 onSchemaColumn();
17576 }
17577 break;
17578 case 2:
17579 enterOuterAlt(_localctx, 2);
17580 {
17581 setState(2667);
17582 onFileGroup();
17583 }
17584 break;
17585 case 3:
17586 enterOuterAlt(_localctx, 3);
17587 {
17588 setState(2668);
17589 onString();
17590 }
17591 break;
17592 }
17593 }
17594 catch (RecognitionException re) {
17595 _localctx.exception = re;
17596 _errHandler.reportError(this, re);
17597 _errHandler.recover(this, re);
17598 }
17599 finally {
17600 exitRule();
17601 }
17602 return _localctx;
17603 }
17604
17605 public static class OnSchemaColumnContext extends ParserRuleContext {
17606 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
17607 public SchemaNameContext schemaName() {
17608 return getRuleContext(SchemaNameContext.class,0);
17609 }
17610 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
17611 public ColumnNameContext columnName() {
17612 return getRuleContext(ColumnNameContext.class,0);
17613 }
17614 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
17615 public OnSchemaColumnContext(ParserRuleContext parent, int invokingState) {
17616 super(parent, invokingState);
17617 }
17618 @Override public int getRuleIndex() { return RULE_onSchemaColumn; }
17619 @Override
17620 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17621 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnSchemaColumn(this);
17622 else return visitor.visitChildren(this);
17623 }
17624 }
17625
17626 public final OnSchemaColumnContext onSchemaColumn() throws RecognitionException {
17627 OnSchemaColumnContext _localctx = new OnSchemaColumnContext(_ctx, getState());
17628 enterRule(_localctx, 364, RULE_onSchemaColumn);
17629 try {
17630 enterOuterAlt(_localctx, 1);
17631 {
17632 setState(2671);
17633 match(ON);
17634 setState(2672);
17635 schemaName();
17636 setState(2673);
17637 match(LP_);
17638 setState(2674);
17639 columnName();
17640 setState(2675);
17641 match(RP_);
17642 }
17643 }
17644 catch (RecognitionException re) {
17645 _localctx.exception = re;
17646 _errHandler.reportError(this, re);
17647 _errHandler.recover(this, re);
17648 }
17649 finally {
17650 exitRule();
17651 }
17652 return _localctx;
17653 }
17654
17655 public static class OnFileGroupContext extends ParserRuleContext {
17656 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
17657 public IgnoredIdentifierContext ignoredIdentifier() {
17658 return getRuleContext(IgnoredIdentifierContext.class,0);
17659 }
17660 public OnFileGroupContext(ParserRuleContext parent, int invokingState) {
17661 super(parent, invokingState);
17662 }
17663 @Override public int getRuleIndex() { return RULE_onFileGroup; }
17664 @Override
17665 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17666 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnFileGroup(this);
17667 else return visitor.visitChildren(this);
17668 }
17669 }
17670
17671 public final OnFileGroupContext onFileGroup() throws RecognitionException {
17672 OnFileGroupContext _localctx = new OnFileGroupContext(_ctx, getState());
17673 enterRule(_localctx, 366, RULE_onFileGroup);
17674 try {
17675 enterOuterAlt(_localctx, 1);
17676 {
17677 setState(2677);
17678 match(ON);
17679 setState(2678);
17680 ignoredIdentifier();
17681 }
17682 }
17683 catch (RecognitionException re) {
17684 _localctx.exception = re;
17685 _errHandler.reportError(this, re);
17686 _errHandler.recover(this, re);
17687 }
17688 finally {
17689 exitRule();
17690 }
17691 return _localctx;
17692 }
17693
17694 public static class OnStringContext extends ParserRuleContext {
17695 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
17696 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
17697 public OnStringContext(ParserRuleContext parent, int invokingState) {
17698 super(parent, invokingState);
17699 }
17700 @Override public int getRuleIndex() { return RULE_onString; }
17701 @Override
17702 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17703 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnString(this);
17704 else return visitor.visitChildren(this);
17705 }
17706 }
17707
17708 public final OnStringContext onString() throws RecognitionException {
17709 OnStringContext _localctx = new OnStringContext(_ctx, getState());
17710 enterRule(_localctx, 368, RULE_onString);
17711 try {
17712 enterOuterAlt(_localctx, 1);
17713 {
17714 setState(2680);
17715 match(ON);
17716 setState(2681);
17717 match(STRING_);
17718 }
17719 }
17720 catch (RecognitionException re) {
17721 _localctx.exception = re;
17722 _errHandler.reportError(this, re);
17723 _errHandler.recover(this, re);
17724 }
17725 finally {
17726 exitRule();
17727 }
17728 return _localctx;
17729 }
17730
17731 public static class MemoryTablePrimaryKeyConstraintOptionContext extends ParserRuleContext {
17732 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
17733 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
17734 public WithBucketContext withBucket() {
17735 return getRuleContext(WithBucketContext.class,0);
17736 }
17737 public MemoryTablePrimaryKeyConstraintOptionContext(ParserRuleContext parent, int invokingState) {
17738 super(parent, invokingState);
17739 }
17740 @Override public int getRuleIndex() { return RULE_memoryTablePrimaryKeyConstraintOption; }
17741 @Override
17742 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17743 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMemoryTablePrimaryKeyConstraintOption(this);
17744 else return visitor.visitChildren(this);
17745 }
17746 }
17747
17748 public final MemoryTablePrimaryKeyConstraintOptionContext memoryTablePrimaryKeyConstraintOption() throws RecognitionException {
17749 MemoryTablePrimaryKeyConstraintOptionContext _localctx = new MemoryTablePrimaryKeyConstraintOptionContext(_ctx, getState());
17750 enterRule(_localctx, 370, RULE_memoryTablePrimaryKeyConstraintOption);
17751 try {
17752 setState(2689);
17753 _errHandler.sync(this);
17754 switch ( getInterpreter().adaptivePredict(_input,210,_ctx) ) {
17755 case 1:
17756 enterOuterAlt(_localctx, 1);
17757 {
17758 setState(2683);
17759 match(NONCLUSTERED);
17760 }
17761 break;
17762 case 2:
17763 enterOuterAlt(_localctx, 2);
17764 {
17765 setState(2684);
17766 match(NONCLUSTERED);
17767 setState(2685);
17768 match(HASH);
17769 setState(2687);
17770 _errHandler.sync(this);
17771 switch ( getInterpreter().adaptivePredict(_input,209,_ctx) ) {
17772 case 1:
17773 {
17774 setState(2686);
17775 withBucket();
17776 }
17777 break;
17778 }
17779 }
17780 break;
17781 }
17782 }
17783 catch (RecognitionException re) {
17784 _localctx.exception = re;
17785 _errHandler.reportError(this, re);
17786 _errHandler.recover(this, re);
17787 }
17788 finally {
17789 exitRule();
17790 }
17791 return _localctx;
17792 }
17793
17794 public static class WithBucketContext extends ParserRuleContext {
17795 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
17796 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
17797 public TerminalNode BUCKET_COUNT() { return getToken(SQLServerStatementParser.BUCKET_COUNT, 0); }
17798 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
17799 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
17800 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
17801 public WithBucketContext(ParserRuleContext parent, int invokingState) {
17802 super(parent, invokingState);
17803 }
17804 @Override public int getRuleIndex() { return RULE_withBucket; }
17805 @Override
17806 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17807 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithBucket(this);
17808 else return visitor.visitChildren(this);
17809 }
17810 }
17811
17812 public final WithBucketContext withBucket() throws RecognitionException {
17813 WithBucketContext _localctx = new WithBucketContext(_ctx, getState());
17814 enterRule(_localctx, 372, RULE_withBucket);
17815 try {
17816 enterOuterAlt(_localctx, 1);
17817 {
17818 setState(2691);
17819 match(WITH);
17820 setState(2692);
17821 match(LP_);
17822 setState(2693);
17823 match(BUCKET_COUNT);
17824 setState(2694);
17825 match(EQ_);
17826 setState(2695);
17827 match(NUMBER_);
17828 setState(2696);
17829 match(RP_);
17830 }
17831 }
17832 catch (RecognitionException re) {
17833 _localctx.exception = re;
17834 _errHandler.reportError(this, re);
17835 _errHandler.recover(this, re);
17836 }
17837 finally {
17838 exitRule();
17839 }
17840 return _localctx;
17841 }
17842
17843 public static class ColumnForeignKeyConstraintContext extends ParserRuleContext {
17844 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
17845 public TableNameContext tableName() {
17846 return getRuleContext(TableNameContext.class,0);
17847 }
17848 public TerminalNode FOREIGN() { return getToken(SQLServerStatementParser.FOREIGN, 0); }
17849 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
17850 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
17851 public ColumnNameContext columnName() {
17852 return getRuleContext(ColumnNameContext.class,0);
17853 }
17854 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
17855 public List<ForeignKeyOnActionContext> foreignKeyOnAction() {
17856 return getRuleContexts(ForeignKeyOnActionContext.class);
17857 }
17858 public ForeignKeyOnActionContext foreignKeyOnAction(int i) {
17859 return getRuleContext(ForeignKeyOnActionContext.class,i);
17860 }
17861 public ColumnForeignKeyConstraintContext(ParserRuleContext parent, int invokingState) {
17862 super(parent, invokingState);
17863 }
17864 @Override public int getRuleIndex() { return RULE_columnForeignKeyConstraint; }
17865 @Override
17866 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17867 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnForeignKeyConstraint(this);
17868 else return visitor.visitChildren(this);
17869 }
17870 }
17871
17872 public final ColumnForeignKeyConstraintContext columnForeignKeyConstraint() throws RecognitionException {
17873 ColumnForeignKeyConstraintContext _localctx = new ColumnForeignKeyConstraintContext(_ctx, getState());
17874 enterRule(_localctx, 374, RULE_columnForeignKeyConstraint);
17875 int _la;
17876 try {
17877 int _alt;
17878 enterOuterAlt(_localctx, 1);
17879 {
17880 setState(2700);
17881 _errHandler.sync(this);
17882 _la = _input.LA(1);
17883 if (_la==FOREIGN) {
17884 {
17885 setState(2698);
17886 match(FOREIGN);
17887 setState(2699);
17888 match(KEY);
17889 }
17890 }
17891
17892 setState(2702);
17893 match(REFERENCES);
17894 setState(2703);
17895 tableName();
17896 setState(2708);
17897 _errHandler.sync(this);
17898 switch ( getInterpreter().adaptivePredict(_input,212,_ctx) ) {
17899 case 1:
17900 {
17901 setState(2704);
17902 match(LP_);
17903 setState(2705);
17904 columnName();
17905 setState(2706);
17906 match(RP_);
17907 }
17908 break;
17909 }
17910 setState(2713);
17911 _errHandler.sync(this);
17912 _alt = getInterpreter().adaptivePredict(_input,213,_ctx);
17913 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
17914 if ( _alt==1 ) {
17915 {
17916 {
17917 setState(2710);
17918 foreignKeyOnAction();
17919 }
17920 }
17921 }
17922 setState(2715);
17923 _errHandler.sync(this);
17924 _alt = getInterpreter().adaptivePredict(_input,213,_ctx);
17925 }
17926 }
17927 }
17928 catch (RecognitionException re) {
17929 _localctx.exception = re;
17930 _errHandler.reportError(this, re);
17931 _errHandler.recover(this, re);
17932 }
17933 finally {
17934 exitRule();
17935 }
17936 return _localctx;
17937 }
17938
17939 public static class ForeignKeyOnActionContext extends ParserRuleContext {
17940 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
17941 public ForeignKeyOnContext foreignKeyOn() {
17942 return getRuleContext(ForeignKeyOnContext.class,0);
17943 }
17944 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
17945 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
17946 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
17947 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
17948 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
17949 public ForeignKeyOnActionContext(ParserRuleContext parent, int invokingState) {
17950 super(parent, invokingState);
17951 }
17952 @Override public int getRuleIndex() { return RULE_foreignKeyOnAction; }
17953 @Override
17954 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17955 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForeignKeyOnAction(this);
17956 else return visitor.visitChildren(this);
17957 }
17958 }
17959
17960 public final ForeignKeyOnActionContext foreignKeyOnAction() throws RecognitionException {
17961 ForeignKeyOnActionContext _localctx = new ForeignKeyOnActionContext(_ctx, getState());
17962 enterRule(_localctx, 376, RULE_foreignKeyOnAction);
17963 int _la;
17964 try {
17965 setState(2722);
17966 _errHandler.sync(this);
17967 switch (_input.LA(1)) {
17968 case ON:
17969 enterOuterAlt(_localctx, 1);
17970 {
17971 setState(2716);
17972 match(ON);
17973 setState(2717);
17974 _la = _input.LA(1);
17975 if ( !(_la==UPDATE || _la==DELETE) ) {
17976 _errHandler.recoverInline(this);
17977 }
17978 else {
17979 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
17980 _errHandler.reportMatch(this);
17981 consume();
17982 }
17983 setState(2718);
17984 foreignKeyOn();
17985 }
17986 break;
17987 case NOT:
17988 enterOuterAlt(_localctx, 2);
17989 {
17990 setState(2719);
17991 match(NOT);
17992 setState(2720);
17993 match(FOR);
17994 setState(2721);
17995 match(REPLICATION);
17996 }
17997 break;
17998 default:
17999 throw new NoViableAltException(this);
18000 }
18001 }
18002 catch (RecognitionException re) {
18003 _localctx.exception = re;
18004 _errHandler.reportError(this, re);
18005 _errHandler.recover(this, re);
18006 }
18007 finally {
18008 exitRule();
18009 }
18010 return _localctx;
18011 }
18012
18013 public static class ForeignKeyOnContext extends ParserRuleContext {
18014 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
18015 public TerminalNode ACTION() { return getToken(SQLServerStatementParser.ACTION, 0); }
18016 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
18017 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
18018 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
18019 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
18020 public ForeignKeyOnContext(ParserRuleContext parent, int invokingState) {
18021 super(parent, invokingState);
18022 }
18023 @Override public int getRuleIndex() { return RULE_foreignKeyOn; }
18024 @Override
18025 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18026 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForeignKeyOn(this);
18027 else return visitor.visitChildren(this);
18028 }
18029 }
18030
18031 public final ForeignKeyOnContext foreignKeyOn() throws RecognitionException {
18032 ForeignKeyOnContext _localctx = new ForeignKeyOnContext(_ctx, getState());
18033 enterRule(_localctx, 378, RULE_foreignKeyOn);
18034 int _la;
18035 try {
18036 setState(2729);
18037 _errHandler.sync(this);
18038 switch (_input.LA(1)) {
18039 case NO:
18040 enterOuterAlt(_localctx, 1);
18041 {
18042 setState(2724);
18043 match(NO);
18044 setState(2725);
18045 match(ACTION);
18046 }
18047 break;
18048 case CASCADE:
18049 enterOuterAlt(_localctx, 2);
18050 {
18051 setState(2726);
18052 match(CASCADE);
18053 }
18054 break;
18055 case SET:
18056 enterOuterAlt(_localctx, 3);
18057 {
18058 setState(2727);
18059 match(SET);
18060 setState(2728);
18061 _la = _input.LA(1);
18062 if ( !(_la==NULL || _la==DEFAULT) ) {
18063 _errHandler.recoverInline(this);
18064 }
18065 else {
18066 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
18067 _errHandler.reportMatch(this);
18068 consume();
18069 }
18070 }
18071 break;
18072 default:
18073 throw new NoViableAltException(this);
18074 }
18075 }
18076 catch (RecognitionException re) {
18077 _localctx.exception = re;
18078 _errHandler.reportError(this, re);
18079 _errHandler.recover(this, re);
18080 }
18081 finally {
18082 exitRule();
18083 }
18084 return _localctx;
18085 }
18086
18087 public static class CheckConstraintContext extends ParserRuleContext {
18088 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
18089 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18090 public ExprContext expr() {
18091 return getRuleContext(ExprContext.class,0);
18092 }
18093 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18094 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
18095 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
18096 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
18097 public CheckConstraintContext(ParserRuleContext parent, int invokingState) {
18098 super(parent, invokingState);
18099 }
18100 @Override public int getRuleIndex() { return RULE_checkConstraint; }
18101 @Override
18102 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18103 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCheckConstraint(this);
18104 else return visitor.visitChildren(this);
18105 }
18106 }
18107
18108 public final CheckConstraintContext checkConstraint() throws RecognitionException {
18109 CheckConstraintContext _localctx = new CheckConstraintContext(_ctx, getState());
18110 enterRule(_localctx, 380, RULE_checkConstraint);
18111 int _la;
18112 try {
18113 enterOuterAlt(_localctx, 1);
18114 {
18115 setState(2731);
18116 match(CHECK);
18117 setState(2735);
18118 _errHandler.sync(this);
18119 _la = _input.LA(1);
18120 if (_la==NOT) {
18121 {
18122 setState(2732);
18123 match(NOT);
18124 setState(2733);
18125 match(FOR);
18126 setState(2734);
18127 match(REPLICATION);
18128 }
18129 }
18130
18131 setState(2737);
18132 match(LP_);
18133 setState(2738);
18134 expr(0);
18135 setState(2739);
18136 match(RP_);
18137 }
18138 }
18139 catch (RecognitionException re) {
18140 _localctx.exception = re;
18141 _errHandler.reportError(this, re);
18142 _errHandler.recover(this, re);
18143 }
18144 finally {
18145 exitRule();
18146 }
18147 return _localctx;
18148 }
18149
18150 public static class ColumnIndexContext extends ParserRuleContext {
18151 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
18152 public IndexNameContext indexName() {
18153 return getRuleContext(IndexNameContext.class,0);
18154 }
18155 public ClusterOptionContext clusterOption() {
18156 return getRuleContext(ClusterOptionContext.class,0);
18157 }
18158 public WithIndexOptionContext withIndexOption() {
18159 return getRuleContext(WithIndexOptionContext.class,0);
18160 }
18161 public IndexOnClauseContext indexOnClause() {
18162 return getRuleContext(IndexOnClauseContext.class,0);
18163 }
18164 public FileStreamOnContext fileStreamOn() {
18165 return getRuleContext(FileStreamOnContext.class,0);
18166 }
18167 public ColumnIndexContext(ParserRuleContext parent, int invokingState) {
18168 super(parent, invokingState);
18169 }
18170 @Override public int getRuleIndex() { return RULE_columnIndex; }
18171 @Override
18172 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18173 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnIndex(this);
18174 else return visitor.visitChildren(this);
18175 }
18176 }
18177
18178 public final ColumnIndexContext columnIndex() throws RecognitionException {
18179 ColumnIndexContext _localctx = new ColumnIndexContext(_ctx, getState());
18180 enterRule(_localctx, 382, RULE_columnIndex);
18181 int _la;
18182 try {
18183 enterOuterAlt(_localctx, 1);
18184 {
18185 setState(2741);
18186 match(INDEX);
18187 setState(2742);
18188 indexName();
18189 setState(2744);
18190 _errHandler.sync(this);
18191 _la = _input.LA(1);
18192 if (_la==CLUSTERED || _la==NONCLUSTERED) {
18193 {
18194 setState(2743);
18195 clusterOption();
18196 }
18197 }
18198
18199 setState(2747);
18200 _errHandler.sync(this);
18201 switch ( getInterpreter().adaptivePredict(_input,218,_ctx) ) {
18202 case 1:
18203 {
18204 setState(2746);
18205 withIndexOption();
18206 }
18207 break;
18208 }
18209 setState(2750);
18210 _errHandler.sync(this);
18211 _la = _input.LA(1);
18212 if (_la==ON) {
18213 {
18214 setState(2749);
18215 indexOnClause();
18216 }
18217 }
18218
18219 setState(2753);
18220 _errHandler.sync(this);
18221 _la = _input.LA(1);
18222 if (_la==FILESTREAM_ON) {
18223 {
18224 setState(2752);
18225 fileStreamOn();
18226 }
18227 }
18228
18229 }
18230 }
18231 catch (RecognitionException re) {
18232 _localctx.exception = re;
18233 _errHandler.reportError(this, re);
18234 _errHandler.recover(this, re);
18235 }
18236 finally {
18237 exitRule();
18238 }
18239 return _localctx;
18240 }
18241
18242 public static class WithIndexOptionContext extends ParserRuleContext {
18243 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
18244 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18245 public List<IndexOptionContext> indexOption() {
18246 return getRuleContexts(IndexOptionContext.class);
18247 }
18248 public IndexOptionContext indexOption(int i) {
18249 return getRuleContext(IndexOptionContext.class,i);
18250 }
18251 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18252 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
18253 public TerminalNode COMMA_(int i) {
18254 return getToken(SQLServerStatementParser.COMMA_, i);
18255 }
18256 public WithIndexOptionContext(ParserRuleContext parent, int invokingState) {
18257 super(parent, invokingState);
18258 }
18259 @Override public int getRuleIndex() { return RULE_withIndexOption; }
18260 @Override
18261 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18262 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithIndexOption(this);
18263 else return visitor.visitChildren(this);
18264 }
18265 }
18266
18267 public final WithIndexOptionContext withIndexOption() throws RecognitionException {
18268 WithIndexOptionContext _localctx = new WithIndexOptionContext(_ctx, getState());
18269 enterRule(_localctx, 384, RULE_withIndexOption);
18270 int _la;
18271 try {
18272 enterOuterAlt(_localctx, 1);
18273 {
18274 setState(2755);
18275 match(WITH);
18276 setState(2756);
18277 match(LP_);
18278 setState(2757);
18279 indexOption();
18280 setState(2762);
18281 _errHandler.sync(this);
18282 _la = _input.LA(1);
18283 while (_la==COMMA_) {
18284 {
18285 {
18286 setState(2758);
18287 match(COMMA_);
18288 setState(2759);
18289 indexOption();
18290 }
18291 }
18292 setState(2764);
18293 _errHandler.sync(this);
18294 _la = _input.LA(1);
18295 }
18296 setState(2765);
18297 match(RP_);
18298 }
18299 }
18300 catch (RecognitionException re) {
18301 _localctx.exception = re;
18302 _errHandler.reportError(this, re);
18303 _errHandler.recover(this, re);
18304 }
18305 finally {
18306 exitRule();
18307 }
18308 return _localctx;
18309 }
18310
18311 public static class IndexOnClauseContext extends ParserRuleContext {
18312 public OnSchemaColumnContext onSchemaColumn() {
18313 return getRuleContext(OnSchemaColumnContext.class,0);
18314 }
18315 public OnFileGroupContext onFileGroup() {
18316 return getRuleContext(OnFileGroupContext.class,0);
18317 }
18318 public OnDefaultContext onDefault() {
18319 return getRuleContext(OnDefaultContext.class,0);
18320 }
18321 public IndexOnClauseContext(ParserRuleContext parent, int invokingState) {
18322 super(parent, invokingState);
18323 }
18324 @Override public int getRuleIndex() { return RULE_indexOnClause; }
18325 @Override
18326 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18327 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexOnClause(this);
18328 else return visitor.visitChildren(this);
18329 }
18330 }
18331
18332 public final IndexOnClauseContext indexOnClause() throws RecognitionException {
18333 IndexOnClauseContext _localctx = new IndexOnClauseContext(_ctx, getState());
18334 enterRule(_localctx, 386, RULE_indexOnClause);
18335 try {
18336 setState(2770);
18337 _errHandler.sync(this);
18338 switch ( getInterpreter().adaptivePredict(_input,222,_ctx) ) {
18339 case 1:
18340 enterOuterAlt(_localctx, 1);
18341 {
18342 setState(2767);
18343 onSchemaColumn();
18344 }
18345 break;
18346 case 2:
18347 enterOuterAlt(_localctx, 2);
18348 {
18349 setState(2768);
18350 onFileGroup();
18351 }
18352 break;
18353 case 3:
18354 enterOuterAlt(_localctx, 3);
18355 {
18356 setState(2769);
18357 onDefault();
18358 }
18359 break;
18360 }
18361 }
18362 catch (RecognitionException re) {
18363 _localctx.exception = re;
18364 _errHandler.reportError(this, re);
18365 _errHandler.recover(this, re);
18366 }
18367 finally {
18368 exitRule();
18369 }
18370 return _localctx;
18371 }
18372
18373 public static class OnDefaultContext extends ParserRuleContext {
18374 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
18375 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
18376 public OnDefaultContext(ParserRuleContext parent, int invokingState) {
18377 super(parent, invokingState);
18378 }
18379 @Override public int getRuleIndex() { return RULE_onDefault; }
18380 @Override
18381 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18382 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnDefault(this);
18383 else return visitor.visitChildren(this);
18384 }
18385 }
18386
18387 public final OnDefaultContext onDefault() throws RecognitionException {
18388 OnDefaultContext _localctx = new OnDefaultContext(_ctx, getState());
18389 enterRule(_localctx, 388, RULE_onDefault);
18390 try {
18391 enterOuterAlt(_localctx, 1);
18392 {
18393 setState(2772);
18394 match(ON);
18395 setState(2773);
18396 match(DEFAULT);
18397 }
18398 }
18399 catch (RecognitionException re) {
18400 _localctx.exception = re;
18401 _errHandler.reportError(this, re);
18402 _errHandler.recover(this, re);
18403 }
18404 finally {
18405 exitRule();
18406 }
18407 return _localctx;
18408 }
18409
18410 public static class FileStreamOnContext extends ParserRuleContext {
18411 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
18412 public IgnoredIdentifierContext ignoredIdentifier() {
18413 return getRuleContext(IgnoredIdentifierContext.class,0);
18414 }
18415 public SchemaNameContext schemaName() {
18416 return getRuleContext(SchemaNameContext.class,0);
18417 }
18418 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
18419 public FileStreamOnContext(ParserRuleContext parent, int invokingState) {
18420 super(parent, invokingState);
18421 }
18422 @Override public int getRuleIndex() { return RULE_fileStreamOn; }
18423 @Override
18424 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18425 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileStreamOn(this);
18426 else return visitor.visitChildren(this);
18427 }
18428 }
18429
18430 public final FileStreamOnContext fileStreamOn() throws RecognitionException {
18431 FileStreamOnContext _localctx = new FileStreamOnContext(_ctx, getState());
18432 enterRule(_localctx, 390, RULE_fileStreamOn);
18433 try {
18434 enterOuterAlt(_localctx, 1);
18435 {
18436 setState(2775);
18437 match(FILESTREAM_ON);
18438 setState(2779);
18439 _errHandler.sync(this);
18440 switch ( getInterpreter().adaptivePredict(_input,223,_ctx) ) {
18441 case 1:
18442 {
18443 setState(2776);
18444 ignoredIdentifier();
18445 }
18446 break;
18447 case 2:
18448 {
18449 setState(2777);
18450 schemaName();
18451 }
18452 break;
18453 case 3:
18454 {
18455 setState(2778);
18456 match(STRING_);
18457 }
18458 break;
18459 }
18460 }
18461 }
18462 catch (RecognitionException re) {
18463 _localctx.exception = re;
18464 _errHandler.reportError(this, re);
18465 _errHandler.recover(this, re);
18466 }
18467 finally {
18468 exitRule();
18469 }
18470 return _localctx;
18471 }
18472
18473 public static class ColumnConstraintsContext extends ParserRuleContext {
18474 public List<ColumnConstraintContext> columnConstraint() {
18475 return getRuleContexts(ColumnConstraintContext.class);
18476 }
18477 public ColumnConstraintContext columnConstraint(int i) {
18478 return getRuleContext(ColumnConstraintContext.class,i);
18479 }
18480 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
18481 public TerminalNode COMMA_(int i) {
18482 return getToken(SQLServerStatementParser.COMMA_, i);
18483 }
18484 public ColumnConstraintsContext(ParserRuleContext parent, int invokingState) {
18485 super(parent, invokingState);
18486 }
18487 @Override public int getRuleIndex() { return RULE_columnConstraints; }
18488 @Override
18489 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18490 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnConstraints(this);
18491 else return visitor.visitChildren(this);
18492 }
18493 }
18494
18495 public final ColumnConstraintsContext columnConstraints() throws RecognitionException {
18496 ColumnConstraintsContext _localctx = new ColumnConstraintsContext(_ctx, getState());
18497 enterRule(_localctx, 392, RULE_columnConstraints);
18498 try {
18499 int _alt;
18500 enterOuterAlt(_localctx, 1);
18501 {
18502 setState(2789);
18503 _errHandler.sync(this);
18504 switch ( getInterpreter().adaptivePredict(_input,225,_ctx) ) {
18505 case 1:
18506 {
18507 setState(2781);
18508 columnConstraint();
18509 setState(2786);
18510 _errHandler.sync(this);
18511 _alt = getInterpreter().adaptivePredict(_input,224,_ctx);
18512 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
18513 if ( _alt==1 ) {
18514 {
18515 {
18516 setState(2782);
18517 match(COMMA_);
18518 setState(2783);
18519 columnConstraint();
18520 }
18521 }
18522 }
18523 setState(2788);
18524 _errHandler.sync(this);
18525 _alt = getInterpreter().adaptivePredict(_input,224,_ctx);
18526 }
18527 }
18528 break;
18529 }
18530 }
18531 }
18532 catch (RecognitionException re) {
18533 _localctx.exception = re;
18534 _errHandler.reportError(this, re);
18535 _errHandler.recover(this, re);
18536 }
18537 finally {
18538 exitRule();
18539 }
18540 return _localctx;
18541 }
18542
18543 public static class ComputedColumnDefinitionContext extends ParserRuleContext {
18544 public ColumnNameContext columnName() {
18545 return getRuleContext(ColumnNameContext.class,0);
18546 }
18547 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
18548 public ExprContext expr() {
18549 return getRuleContext(ExprContext.class,0);
18550 }
18551 public TerminalNode PERSISTED() { return getToken(SQLServerStatementParser.PERSISTED, 0); }
18552 public ComputedColumnConstraintContext computedColumnConstraint() {
18553 return getRuleContext(ComputedColumnConstraintContext.class,0);
18554 }
18555 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
18556 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
18557 public ComputedColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
18558 super(parent, invokingState);
18559 }
18560 @Override public int getRuleIndex() { return RULE_computedColumnDefinition; }
18561 @Override
18562 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18563 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnDefinition(this);
18564 else return visitor.visitChildren(this);
18565 }
18566 }
18567
18568 public final ComputedColumnDefinitionContext computedColumnDefinition() throws RecognitionException {
18569 ComputedColumnDefinitionContext _localctx = new ComputedColumnDefinitionContext(_ctx, getState());
18570 enterRule(_localctx, 394, RULE_computedColumnDefinition);
18571 int _la;
18572 try {
18573 enterOuterAlt(_localctx, 1);
18574 {
18575 setState(2791);
18576 columnName();
18577 setState(2792);
18578 match(AS);
18579 setState(2793);
18580 expr(0);
18581 setState(2799);
18582 _errHandler.sync(this);
18583 switch ( getInterpreter().adaptivePredict(_input,227,_ctx) ) {
18584 case 1:
18585 {
18586 setState(2794);
18587 match(PERSISTED);
18588 setState(2797);
18589 _errHandler.sync(this);
18590 _la = _input.LA(1);
18591 if (_la==NOT) {
18592 {
18593 setState(2795);
18594 match(NOT);
18595 setState(2796);
18596 match(NULL);
18597 }
18598 }
18599
18600 }
18601 break;
18602 }
18603 setState(2802);
18604 _errHandler.sync(this);
18605 switch ( getInterpreter().adaptivePredict(_input,228,_ctx) ) {
18606 case 1:
18607 {
18608 setState(2801);
18609 computedColumnConstraint();
18610 }
18611 break;
18612 }
18613 }
18614 }
18615 catch (RecognitionException re) {
18616 _localctx.exception = re;
18617 _errHandler.reportError(this, re);
18618 _errHandler.recover(this, re);
18619 }
18620 finally {
18621 exitRule();
18622 }
18623 return _localctx;
18624 }
18625
18626 public static class ColumnSetDefinitionContext extends ParserRuleContext {
18627 public IgnoredIdentifierContext ignoredIdentifier() {
18628 return getRuleContext(IgnoredIdentifierContext.class,0);
18629 }
18630 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
18631 public TerminalNode COLUMN_SET() { return getToken(SQLServerStatementParser.COLUMN_SET, 0); }
18632 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
18633 public TerminalNode ALL_SPARSE_COLUMNS() { return getToken(SQLServerStatementParser.ALL_SPARSE_COLUMNS, 0); }
18634 public ColumnSetDefinitionContext(ParserRuleContext parent, int invokingState) {
18635 super(parent, invokingState);
18636 }
18637 @Override public int getRuleIndex() { return RULE_columnSetDefinition; }
18638 @Override
18639 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18640 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnSetDefinition(this);
18641 else return visitor.visitChildren(this);
18642 }
18643 }
18644
18645 public final ColumnSetDefinitionContext columnSetDefinition() throws RecognitionException {
18646 ColumnSetDefinitionContext _localctx = new ColumnSetDefinitionContext(_ctx, getState());
18647 enterRule(_localctx, 396, RULE_columnSetDefinition);
18648 try {
18649 enterOuterAlt(_localctx, 1);
18650 {
18651 setState(2804);
18652 ignoredIdentifier();
18653 setState(2805);
18654 match(IDENTIFIER_);
18655 setState(2806);
18656 match(COLUMN_SET);
18657 setState(2807);
18658 match(FOR);
18659 setState(2808);
18660 match(ALL_SPARSE_COLUMNS);
18661 }
18662 }
18663 catch (RecognitionException re) {
18664 _localctx.exception = re;
18665 _errHandler.reportError(this, re);
18666 _errHandler.recover(this, re);
18667 }
18668 finally {
18669 exitRule();
18670 }
18671 return _localctx;
18672 }
18673
18674 public static class TableConstraintContext extends ParserRuleContext {
18675 public TablePrimaryConstraintContext tablePrimaryConstraint() {
18676 return getRuleContext(TablePrimaryConstraintContext.class,0);
18677 }
18678 public TableForeignKeyConstraintContext tableForeignKeyConstraint() {
18679 return getRuleContext(TableForeignKeyConstraintContext.class,0);
18680 }
18681 public CheckConstraintContext checkConstraint() {
18682 return getRuleContext(CheckConstraintContext.class,0);
18683 }
18684 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
18685 public ConstraintNameContext constraintName() {
18686 return getRuleContext(ConstraintNameContext.class,0);
18687 }
18688 public TableConstraintContext(ParserRuleContext parent, int invokingState) {
18689 super(parent, invokingState);
18690 }
18691 @Override public int getRuleIndex() { return RULE_tableConstraint; }
18692 @Override
18693 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18694 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableConstraint(this);
18695 else return visitor.visitChildren(this);
18696 }
18697 }
18698
18699 public final TableConstraintContext tableConstraint() throws RecognitionException {
18700 TableConstraintContext _localctx = new TableConstraintContext(_ctx, getState());
18701 enterRule(_localctx, 398, RULE_tableConstraint);
18702 int _la;
18703 try {
18704 enterOuterAlt(_localctx, 1);
18705 {
18706 setState(2812);
18707 _errHandler.sync(this);
18708 _la = _input.LA(1);
18709 if (_la==CONSTRAINT) {
18710 {
18711 setState(2810);
18712 match(CONSTRAINT);
18713 setState(2811);
18714 constraintName();
18715 }
18716 }
18717
18718 setState(2817);
18719 _errHandler.sync(this);
18720 switch (_input.LA(1)) {
18721 case PRIMARY:
18722 case UNIQUE:
18723 case KEY:
18724 {
18725 setState(2814);
18726 tablePrimaryConstraint();
18727 }
18728 break;
18729 case LP_:
18730 case FOREIGN:
18731 {
18732 setState(2815);
18733 tableForeignKeyConstraint();
18734 }
18735 break;
18736 case CHECK:
18737 {
18738 setState(2816);
18739 checkConstraint();
18740 }
18741 break;
18742 default:
18743 throw new NoViableAltException(this);
18744 }
18745 }
18746 }
18747 catch (RecognitionException re) {
18748 _localctx.exception = re;
18749 _errHandler.reportError(this, re);
18750 _errHandler.recover(this, re);
18751 }
18752 finally {
18753 exitRule();
18754 }
18755 return _localctx;
18756 }
18757
18758 public static class TablePrimaryConstraintContext extends ParserRuleContext {
18759 public PrimaryKeyUniqueContext primaryKeyUnique() {
18760 return getRuleContext(PrimaryKeyUniqueContext.class,0);
18761 }
18762 public DiskTablePrimaryConstraintOptionContext diskTablePrimaryConstraintOption() {
18763 return getRuleContext(DiskTablePrimaryConstraintOptionContext.class,0);
18764 }
18765 public MemoryTablePrimaryConstraintOptionContext memoryTablePrimaryConstraintOption() {
18766 return getRuleContext(MemoryTablePrimaryConstraintOptionContext.class,0);
18767 }
18768 public TablePrimaryConstraintContext(ParserRuleContext parent, int invokingState) {
18769 super(parent, invokingState);
18770 }
18771 @Override public int getRuleIndex() { return RULE_tablePrimaryConstraint; }
18772 @Override
18773 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18774 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTablePrimaryConstraint(this);
18775 else return visitor.visitChildren(this);
18776 }
18777 }
18778
18779 public final TablePrimaryConstraintContext tablePrimaryConstraint() throws RecognitionException {
18780 TablePrimaryConstraintContext _localctx = new TablePrimaryConstraintContext(_ctx, getState());
18781 enterRule(_localctx, 400, RULE_tablePrimaryConstraint);
18782 try {
18783 enterOuterAlt(_localctx, 1);
18784 {
18785 setState(2819);
18786 primaryKeyUnique();
18787 setState(2822);
18788 _errHandler.sync(this);
18789 switch ( getInterpreter().adaptivePredict(_input,231,_ctx) ) {
18790 case 1:
18791 {
18792 setState(2820);
18793 diskTablePrimaryConstraintOption();
18794 }
18795 break;
18796 case 2:
18797 {
18798 setState(2821);
18799 memoryTablePrimaryConstraintOption();
18800 }
18801 break;
18802 }
18803 }
18804 }
18805 catch (RecognitionException re) {
18806 _localctx.exception = re;
18807 _errHandler.reportError(this, re);
18808 _errHandler.recover(this, re);
18809 }
18810 finally {
18811 exitRule();
18812 }
18813 return _localctx;
18814 }
18815
18816 public static class PrimaryKeyUniqueContext extends ParserRuleContext {
18817 public PrimaryKeyContext primaryKey() {
18818 return getRuleContext(PrimaryKeyContext.class,0);
18819 }
18820 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
18821 public PrimaryKeyUniqueContext(ParserRuleContext parent, int invokingState) {
18822 super(parent, invokingState);
18823 }
18824 @Override public int getRuleIndex() { return RULE_primaryKeyUnique; }
18825 @Override
18826 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18827 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyUnique(this);
18828 else return visitor.visitChildren(this);
18829 }
18830 }
18831
18832 public final PrimaryKeyUniqueContext primaryKeyUnique() throws RecognitionException {
18833 PrimaryKeyUniqueContext _localctx = new PrimaryKeyUniqueContext(_ctx, getState());
18834 enterRule(_localctx, 402, RULE_primaryKeyUnique);
18835 try {
18836 setState(2826);
18837 _errHandler.sync(this);
18838 switch (_input.LA(1)) {
18839 case PRIMARY:
18840 case KEY:
18841 enterOuterAlt(_localctx, 1);
18842 {
18843 setState(2824);
18844 primaryKey();
18845 }
18846 break;
18847 case UNIQUE:
18848 enterOuterAlt(_localctx, 2);
18849 {
18850 setState(2825);
18851 match(UNIQUE);
18852 }
18853 break;
18854 default:
18855 throw new NoViableAltException(this);
18856 }
18857 }
18858 catch (RecognitionException re) {
18859 _localctx.exception = re;
18860 _errHandler.reportError(this, re);
18861 _errHandler.recover(this, re);
18862 }
18863 finally {
18864 exitRule();
18865 }
18866 return _localctx;
18867 }
18868
18869 public static class DiskTablePrimaryConstraintOptionContext extends ParserRuleContext {
18870 public ColumnNamesContext columnNames() {
18871 return getRuleContext(ColumnNamesContext.class,0);
18872 }
18873 public ClusterOptionContext clusterOption() {
18874 return getRuleContext(ClusterOptionContext.class,0);
18875 }
18876 public PrimaryKeyWithClauseContext primaryKeyWithClause() {
18877 return getRuleContext(PrimaryKeyWithClauseContext.class,0);
18878 }
18879 public PrimaryKeyOnClauseContext primaryKeyOnClause() {
18880 return getRuleContext(PrimaryKeyOnClauseContext.class,0);
18881 }
18882 public DiskTablePrimaryConstraintOptionContext(ParserRuleContext parent, int invokingState) {
18883 super(parent, invokingState);
18884 }
18885 @Override public int getRuleIndex() { return RULE_diskTablePrimaryConstraintOption; }
18886 @Override
18887 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18888 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDiskTablePrimaryConstraintOption(this);
18889 else return visitor.visitChildren(this);
18890 }
18891 }
18892
18893 public final DiskTablePrimaryConstraintOptionContext diskTablePrimaryConstraintOption() throws RecognitionException {
18894 DiskTablePrimaryConstraintOptionContext _localctx = new DiskTablePrimaryConstraintOptionContext(_ctx, getState());
18895 enterRule(_localctx, 404, RULE_diskTablePrimaryConstraintOption);
18896 int _la;
18897 try {
18898 enterOuterAlt(_localctx, 1);
18899 {
18900 setState(2829);
18901 _errHandler.sync(this);
18902 _la = _input.LA(1);
18903 if (_la==CLUSTERED || _la==NONCLUSTERED) {
18904 {
18905 setState(2828);
18906 clusterOption();
18907 }
18908 }
18909
18910 setState(2831);
18911 columnNames();
18912 setState(2833);
18913 _errHandler.sync(this);
18914 switch ( getInterpreter().adaptivePredict(_input,234,_ctx) ) {
18915 case 1:
18916 {
18917 setState(2832);
18918 primaryKeyWithClause();
18919 }
18920 break;
18921 }
18922 setState(2836);
18923 _errHandler.sync(this);
18924 _la = _input.LA(1);
18925 if (_la==ON) {
18926 {
18927 setState(2835);
18928 primaryKeyOnClause();
18929 }
18930 }
18931
18932 }
18933 }
18934 catch (RecognitionException re) {
18935 _localctx.exception = re;
18936 _errHandler.reportError(this, re);
18937 _errHandler.recover(this, re);
18938 }
18939 finally {
18940 exitRule();
18941 }
18942 return _localctx;
18943 }
18944
18945 public static class MemoryTablePrimaryConstraintOptionContext extends ParserRuleContext {
18946 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
18947 public ColumnNamesContext columnNames() {
18948 return getRuleContext(ColumnNamesContext.class,0);
18949 }
18950 public HashWithBucketContext hashWithBucket() {
18951 return getRuleContext(HashWithBucketContext.class,0);
18952 }
18953 public MemoryTablePrimaryConstraintOptionContext(ParserRuleContext parent, int invokingState) {
18954 super(parent, invokingState);
18955 }
18956 @Override public int getRuleIndex() { return RULE_memoryTablePrimaryConstraintOption; }
18957 @Override
18958 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18959 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMemoryTablePrimaryConstraintOption(this);
18960 else return visitor.visitChildren(this);
18961 }
18962 }
18963
18964 public final MemoryTablePrimaryConstraintOptionContext memoryTablePrimaryConstraintOption() throws RecognitionException {
18965 MemoryTablePrimaryConstraintOptionContext _localctx = new MemoryTablePrimaryConstraintOptionContext(_ctx, getState());
18966 enterRule(_localctx, 406, RULE_memoryTablePrimaryConstraintOption);
18967 try {
18968 enterOuterAlt(_localctx, 1);
18969 {
18970 setState(2838);
18971 match(NONCLUSTERED);
18972 setState(2841);
18973 _errHandler.sync(this);
18974 switch (_input.LA(1)) {
18975 case LP_:
18976 {
18977 setState(2839);
18978 columnNames();
18979 }
18980 break;
18981 case HASH:
18982 {
18983 setState(2840);
18984 hashWithBucket();
18985 }
18986 break;
18987 default:
18988 throw new NoViableAltException(this);
18989 }
18990 }
18991 }
18992 catch (RecognitionException re) {
18993 _localctx.exception = re;
18994 _errHandler.reportError(this, re);
18995 _errHandler.recover(this, re);
18996 }
18997 finally {
18998 exitRule();
18999 }
19000 return _localctx;
19001 }
19002
19003 public static class HashWithBucketContext extends ParserRuleContext {
19004 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
19005 public ColumnNamesContext columnNames() {
19006 return getRuleContext(ColumnNamesContext.class,0);
19007 }
19008 public WithBucketContext withBucket() {
19009 return getRuleContext(WithBucketContext.class,0);
19010 }
19011 public HashWithBucketContext(ParserRuleContext parent, int invokingState) {
19012 super(parent, invokingState);
19013 }
19014 @Override public int getRuleIndex() { return RULE_hashWithBucket; }
19015 @Override
19016 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19017 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHashWithBucket(this);
19018 else return visitor.visitChildren(this);
19019 }
19020 }
19021
19022 public final HashWithBucketContext hashWithBucket() throws RecognitionException {
19023 HashWithBucketContext _localctx = new HashWithBucketContext(_ctx, getState());
19024 enterRule(_localctx, 408, RULE_hashWithBucket);
19025 try {
19026 enterOuterAlt(_localctx, 1);
19027 {
19028 setState(2843);
19029 match(HASH);
19030 setState(2844);
19031 columnNames();
19032 setState(2845);
19033 withBucket();
19034 }
19035 }
19036 catch (RecognitionException re) {
19037 _localctx.exception = re;
19038 _errHandler.reportError(this, re);
19039 _errHandler.recover(this, re);
19040 }
19041 finally {
19042 exitRule();
19043 }
19044 return _localctx;
19045 }
19046
19047 public static class TableForeignKeyConstraintContext extends ParserRuleContext {
19048 public List<ColumnNamesContext> columnNames() {
19049 return getRuleContexts(ColumnNamesContext.class);
19050 }
19051 public ColumnNamesContext columnNames(int i) {
19052 return getRuleContext(ColumnNamesContext.class,i);
19053 }
19054 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
19055 public TableNameContext tableName() {
19056 return getRuleContext(TableNameContext.class,0);
19057 }
19058 public TerminalNode FOREIGN() { return getToken(SQLServerStatementParser.FOREIGN, 0); }
19059 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
19060 public List<ForeignKeyOnActionContext> foreignKeyOnAction() {
19061 return getRuleContexts(ForeignKeyOnActionContext.class);
19062 }
19063 public ForeignKeyOnActionContext foreignKeyOnAction(int i) {
19064 return getRuleContext(ForeignKeyOnActionContext.class,i);
19065 }
19066 public TableForeignKeyConstraintContext(ParserRuleContext parent, int invokingState) {
19067 super(parent, invokingState);
19068 }
19069 @Override public int getRuleIndex() { return RULE_tableForeignKeyConstraint; }
19070 @Override
19071 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19072 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableForeignKeyConstraint(this);
19073 else return visitor.visitChildren(this);
19074 }
19075 }
19076
19077 public final TableForeignKeyConstraintContext tableForeignKeyConstraint() throws RecognitionException {
19078 TableForeignKeyConstraintContext _localctx = new TableForeignKeyConstraintContext(_ctx, getState());
19079 enterRule(_localctx, 410, RULE_tableForeignKeyConstraint);
19080 int _la;
19081 try {
19082 enterOuterAlt(_localctx, 1);
19083 {
19084 setState(2849);
19085 _errHandler.sync(this);
19086 _la = _input.LA(1);
19087 if (_la==FOREIGN) {
19088 {
19089 setState(2847);
19090 match(FOREIGN);
19091 setState(2848);
19092 match(KEY);
19093 }
19094 }
19095
19096 setState(2851);
19097 columnNames();
19098 setState(2852);
19099 match(REFERENCES);
19100 setState(2853);
19101 tableName();
19102 setState(2854);
19103 columnNames();
19104 setState(2858);
19105 _errHandler.sync(this);
19106 _la = _input.LA(1);
19107 while (_la==ON || _la==NOT) {
19108 {
19109 {
19110 setState(2855);
19111 foreignKeyOnAction();
19112 }
19113 }
19114 setState(2860);
19115 _errHandler.sync(this);
19116 _la = _input.LA(1);
19117 }
19118 }
19119 }
19120 catch (RecognitionException re) {
19121 _localctx.exception = re;
19122 _errHandler.reportError(this, re);
19123 _errHandler.recover(this, re);
19124 }
19125 finally {
19126 exitRule();
19127 }
19128 return _localctx;
19129 }
19130
19131 public static class TableIndexContext extends ParserRuleContext {
19132 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
19133 public IndexNameContext indexName() {
19134 return getRuleContext(IndexNameContext.class,0);
19135 }
19136 public IndexNameOptionContext indexNameOption() {
19137 return getRuleContext(IndexNameOptionContext.class,0);
19138 }
19139 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
19140 public IndexOptionsContext indexOptions() {
19141 return getRuleContext(IndexOptionsContext.class,0);
19142 }
19143 public IndexOnClauseContext indexOnClause() {
19144 return getRuleContext(IndexOnClauseContext.class,0);
19145 }
19146 public FileStreamOnContext fileStreamOn() {
19147 return getRuleContext(FileStreamOnContext.class,0);
19148 }
19149 public TableIndexContext(ParserRuleContext parent, int invokingState) {
19150 super(parent, invokingState);
19151 }
19152 @Override public int getRuleIndex() { return RULE_tableIndex; }
19153 @Override
19154 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19155 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableIndex(this);
19156 else return visitor.visitChildren(this);
19157 }
19158 }
19159
19160 public final TableIndexContext tableIndex() throws RecognitionException {
19161 TableIndexContext _localctx = new TableIndexContext(_ctx, getState());
19162 enterRule(_localctx, 412, RULE_tableIndex);
19163 int _la;
19164 try {
19165 enterOuterAlt(_localctx, 1);
19166 {
19167 setState(2861);
19168 match(INDEX);
19169 setState(2862);
19170 indexName();
19171 setState(2863);
19172 indexNameOption();
19173 setState(2866);
19174 _errHandler.sync(this);
19175 _la = _input.LA(1);
19176 if (_la==WITH) {
19177 {
19178 setState(2864);
19179 match(WITH);
19180 setState(2865);
19181 indexOptions();
19182 }
19183 }
19184
19185 setState(2869);
19186 _errHandler.sync(this);
19187 _la = _input.LA(1);
19188 if (_la==ON) {
19189 {
19190 setState(2868);
19191 indexOnClause();
19192 }
19193 }
19194
19195 setState(2872);
19196 _errHandler.sync(this);
19197 _la = _input.LA(1);
19198 if (_la==FILESTREAM_ON) {
19199 {
19200 setState(2871);
19201 fileStreamOn();
19202 }
19203 }
19204
19205 }
19206 }
19207 catch (RecognitionException re) {
19208 _localctx.exception = re;
19209 _errHandler.reportError(this, re);
19210 _errHandler.recover(this, re);
19211 }
19212 finally {
19213 exitRule();
19214 }
19215 return _localctx;
19216 }
19217
19218 public static class IndexNameOptionContext extends ParserRuleContext {
19219 public ColumnNamesContext columnNames() {
19220 return getRuleContext(ColumnNamesContext.class,0);
19221 }
19222 public ClusterOptionContext clusterOption() {
19223 return getRuleContext(ClusterOptionContext.class,0);
19224 }
19225 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
19226 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
19227 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
19228 public IndexNameOptionContext(ParserRuleContext parent, int invokingState) {
19229 super(parent, invokingState);
19230 }
19231 @Override public int getRuleIndex() { return RULE_indexNameOption; }
19232 @Override
19233 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19234 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexNameOption(this);
19235 else return visitor.visitChildren(this);
19236 }
19237 }
19238
19239 public final IndexNameOptionContext indexNameOption() throws RecognitionException {
19240 IndexNameOptionContext _localctx = new IndexNameOptionContext(_ctx, getState());
19241 enterRule(_localctx, 414, RULE_indexNameOption);
19242 int _la;
19243 try {
19244 setState(2885);
19245 _errHandler.sync(this);
19246 switch ( getInterpreter().adaptivePredict(_input,244,_ctx) ) {
19247 case 1:
19248 enterOuterAlt(_localctx, 1);
19249 {
19250 setState(2875);
19251 _errHandler.sync(this);
19252 _la = _input.LA(1);
19253 if (_la==CLUSTERED || _la==NONCLUSTERED) {
19254 {
19255 setState(2874);
19256 clusterOption();
19257 }
19258 }
19259
19260 setState(2877);
19261 columnNames();
19262 }
19263 break;
19264 case 2:
19265 enterOuterAlt(_localctx, 2);
19266 {
19267 setState(2878);
19268 match(CLUSTERED);
19269 setState(2879);
19270 match(COLUMNSTORE);
19271 }
19272 break;
19273 case 3:
19274 enterOuterAlt(_localctx, 3);
19275 {
19276 setState(2881);
19277 _errHandler.sync(this);
19278 _la = _input.LA(1);
19279 if (_la==NONCLUSTERED) {
19280 {
19281 setState(2880);
19282 match(NONCLUSTERED);
19283 }
19284 }
19285
19286 setState(2883);
19287 match(COLUMNSTORE);
19288 setState(2884);
19289 columnNames();
19290 }
19291 break;
19292 }
19293 }
19294 catch (RecognitionException re) {
19295 _localctx.exception = re;
19296 _errHandler.reportError(this, re);
19297 _errHandler.recover(this, re);
19298 }
19299 finally {
19300 exitRule();
19301 }
19302 return _localctx;
19303 }
19304
19305 public static class IndexOptionsContext extends ParserRuleContext {
19306 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19307 public List<IndexOptionContext> indexOption() {
19308 return getRuleContexts(IndexOptionContext.class);
19309 }
19310 public IndexOptionContext indexOption(int i) {
19311 return getRuleContext(IndexOptionContext.class,i);
19312 }
19313 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
19314 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
19315 public TerminalNode COMMA_(int i) {
19316 return getToken(SQLServerStatementParser.COMMA_, i);
19317 }
19318 public IndexOptionsContext(ParserRuleContext parent, int invokingState) {
19319 super(parent, invokingState);
19320 }
19321 @Override public int getRuleIndex() { return RULE_indexOptions; }
19322 @Override
19323 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19324 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexOptions(this);
19325 else return visitor.visitChildren(this);
19326 }
19327 }
19328
19329 public final IndexOptionsContext indexOptions() throws RecognitionException {
19330 IndexOptionsContext _localctx = new IndexOptionsContext(_ctx, getState());
19331 enterRule(_localctx, 416, RULE_indexOptions);
19332 int _la;
19333 try {
19334 enterOuterAlt(_localctx, 1);
19335 {
19336 setState(2887);
19337 match(LP_);
19338 setState(2888);
19339 indexOption();
19340 setState(2893);
19341 _errHandler.sync(this);
19342 _la = _input.LA(1);
19343 while (_la==COMMA_) {
19344 {
19345 {
19346 setState(2889);
19347 match(COMMA_);
19348 setState(2890);
19349 indexOption();
19350 }
19351 }
19352 setState(2895);
19353 _errHandler.sync(this);
19354 _la = _input.LA(1);
19355 }
19356 setState(2896);
19357 match(RP_);
19358 }
19359 }
19360 catch (RecognitionException re) {
19361 _localctx.exception = re;
19362 _errHandler.reportError(this, re);
19363 _errHandler.recover(this, re);
19364 }
19365 finally {
19366 exitRule();
19367 }
19368 return _localctx;
19369 }
19370
19371 public static class PeriodClauseContext extends ParserRuleContext {
19372 public TerminalNode PERIOD() { return getToken(SQLServerStatementParser.PERIOD, 0); }
19373 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
19374 public TerminalNode SYSTEM_TIME() { return getToken(SQLServerStatementParser.SYSTEM_TIME, 0); }
19375 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19376 public List<ColumnNameContext> columnName() {
19377 return getRuleContexts(ColumnNameContext.class);
19378 }
19379 public ColumnNameContext columnName(int i) {
19380 return getRuleContext(ColumnNameContext.class,i);
19381 }
19382 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
19383 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
19384 public PeriodClauseContext(ParserRuleContext parent, int invokingState) {
19385 super(parent, invokingState);
19386 }
19387 @Override public int getRuleIndex() { return RULE_periodClause; }
19388 @Override
19389 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19390 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPeriodClause(this);
19391 else return visitor.visitChildren(this);
19392 }
19393 }
19394
19395 public final PeriodClauseContext periodClause() throws RecognitionException {
19396 PeriodClauseContext _localctx = new PeriodClauseContext(_ctx, getState());
19397 enterRule(_localctx, 418, RULE_periodClause);
19398 try {
19399 enterOuterAlt(_localctx, 1);
19400 {
19401 setState(2898);
19402 match(PERIOD);
19403 setState(2899);
19404 match(FOR);
19405 setState(2900);
19406 match(SYSTEM_TIME);
19407 setState(2901);
19408 match(LP_);
19409 setState(2902);
19410 columnName();
19411 setState(2903);
19412 match(COMMA_);
19413 setState(2904);
19414 columnName();
19415 setState(2905);
19416 match(RP_);
19417 }
19418 }
19419 catch (RecognitionException re) {
19420 _localctx.exception = re;
19421 _errHandler.reportError(this, re);
19422 _errHandler.recover(this, re);
19423 }
19424 finally {
19425 exitRule();
19426 }
19427 return _localctx;
19428 }
19429
19430 public static class PartitionSchemeContext extends ParserRuleContext {
19431 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
19432 public SchemaNameContext schemaName() {
19433 return getRuleContext(SchemaNameContext.class,0);
19434 }
19435 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19436 public ColumnNameContext columnName() {
19437 return getRuleContext(ColumnNameContext.class,0);
19438 }
19439 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
19440 public IgnoredIdentifierContext ignoredIdentifier() {
19441 return getRuleContext(IgnoredIdentifierContext.class,0);
19442 }
19443 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
19444 public PartitionSchemeContext(ParserRuleContext parent, int invokingState) {
19445 super(parent, invokingState);
19446 }
19447 @Override public int getRuleIndex() { return RULE_partitionScheme; }
19448 @Override
19449 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19450 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionScheme(this);
19451 else return visitor.visitChildren(this);
19452 }
19453 }
19454
19455 public final PartitionSchemeContext partitionScheme() throws RecognitionException {
19456 PartitionSchemeContext _localctx = new PartitionSchemeContext(_ctx, getState());
19457 enterRule(_localctx, 420, RULE_partitionScheme);
19458 int _la;
19459 try {
19460 enterOuterAlt(_localctx, 1);
19461 {
19462 setState(2917);
19463 _errHandler.sync(this);
19464 _la = _input.LA(1);
19465 if (_la==ON) {
19466 {
19467 setState(2907);
19468 match(ON);
19469 setState(2915);
19470 _errHandler.sync(this);
19471 switch ( getInterpreter().adaptivePredict(_input,246,_ctx) ) {
19472 case 1:
19473 {
19474 setState(2908);
19475 schemaName();
19476 setState(2909);
19477 match(LP_);
19478 setState(2910);
19479 columnName();
19480 setState(2911);
19481 match(RP_);
19482 }
19483 break;
19484 case 2:
19485 {
19486 setState(2913);
19487 ignoredIdentifier();
19488 }
19489 break;
19490 case 3:
19491 {
19492 setState(2914);
19493 match(STRING_);
19494 }
19495 break;
19496 }
19497 }
19498 }
19499
19500 }
19501 }
19502 catch (RecognitionException re) {
19503 _localctx.exception = re;
19504 _errHandler.reportError(this, re);
19505 _errHandler.recover(this, re);
19506 }
19507 finally {
19508 exitRule();
19509 }
19510 return _localctx;
19511 }
19512
19513 public static class FileGroupContext extends ParserRuleContext {
19514 public TerminalNode TEXTIMAGE_ON() { return getToken(SQLServerStatementParser.TEXTIMAGE_ON, 0); }
19515 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
19516 public TableOptionsContext tableOptions() {
19517 return getRuleContext(TableOptionsContext.class,0);
19518 }
19519 public List<IgnoredIdentifierContext> ignoredIdentifier() {
19520 return getRuleContexts(IgnoredIdentifierContext.class);
19521 }
19522 public IgnoredIdentifierContext ignoredIdentifier(int i) {
19523 return getRuleContext(IgnoredIdentifierContext.class,i);
19524 }
19525 public List<TerminalNode> STRING_() { return getTokens(SQLServerStatementParser.STRING_); }
19526 public TerminalNode STRING_(int i) {
19527 return getToken(SQLServerStatementParser.STRING_, i);
19528 }
19529 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
19530 public SchemaNameContext schemaName() {
19531 return getRuleContext(SchemaNameContext.class,0);
19532 }
19533 public FileGroupContext(ParserRuleContext parent, int invokingState) {
19534 super(parent, invokingState);
19535 }
19536 @Override public int getRuleIndex() { return RULE_fileGroup; }
19537 @Override
19538 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19539 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileGroup(this);
19540 else return visitor.visitChildren(this);
19541 }
19542 }
19543
19544 public final FileGroupContext fileGroup() throws RecognitionException {
19545 FileGroupContext _localctx = new FileGroupContext(_ctx, getState());
19546 enterRule(_localctx, 422, RULE_fileGroup);
19547 int _la;
19548 try {
19549 enterOuterAlt(_localctx, 1);
19550 {
19551 setState(2924);
19552 _errHandler.sync(this);
19553 _la = _input.LA(1);
19554 if (_la==TEXTIMAGE_ON) {
19555 {
19556 setState(2919);
19557 match(TEXTIMAGE_ON);
19558 setState(2922);
19559 _errHandler.sync(this);
19560 switch (_input.LA(1)) {
19561 case IDENTIFIER_:
19562 {
19563 setState(2920);
19564 ignoredIdentifier();
19565 }
19566 break;
19567 case STRING_:
19568 {
19569 setState(2921);
19570 match(STRING_);
19571 }
19572 break;
19573 default:
19574 throw new NoViableAltException(this);
19575 }
19576 }
19577 }
19578
19579 setState(2933);
19580 _errHandler.sync(this);
19581 _la = _input.LA(1);
19582 if (_la==FILESTREAM_ON || _la==IDENTIFIER_) {
19583 {
19584 setState(2931);
19585 _errHandler.sync(this);
19586 switch (_input.LA(1)) {
19587 case FILESTREAM_ON:
19588 {
19589 setState(2926);
19590 match(FILESTREAM_ON);
19591 {
19592 setState(2927);
19593 schemaName();
19594 }
19595 }
19596 break;
19597 case IDENTIFIER_:
19598 {
19599 setState(2928);
19600 ignoredIdentifier();
19601 setState(2929);
19602 match(STRING_);
19603 }
19604 break;
19605 default:
19606 throw new NoViableAltException(this);
19607 }
19608 }
19609 }
19610
19611 setState(2937);
19612 _errHandler.sync(this);
19613 switch ( getInterpreter().adaptivePredict(_input,252,_ctx) ) {
19614 case 1:
19615 {
19616 setState(2935);
19617 match(WITH);
19618 setState(2936);
19619 tableOptions();
19620 }
19621 break;
19622 }
19623 }
19624 }
19625 catch (RecognitionException re) {
19626 _localctx.exception = re;
19627 _errHandler.reportError(this, re);
19628 _errHandler.recover(this, re);
19629 }
19630 finally {
19631 exitRule();
19632 }
19633 return _localctx;
19634 }
19635
19636 public static class TableOptionsContext extends ParserRuleContext {
19637 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19638 public List<TableOptionContext> tableOption() {
19639 return getRuleContexts(TableOptionContext.class);
19640 }
19641 public TableOptionContext tableOption(int i) {
19642 return getRuleContext(TableOptionContext.class,i);
19643 }
19644 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
19645 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
19646 public TerminalNode COMMA_(int i) {
19647 return getToken(SQLServerStatementParser.COMMA_, i);
19648 }
19649 public TableOptionsContext(ParserRuleContext parent, int invokingState) {
19650 super(parent, invokingState);
19651 }
19652 @Override public int getRuleIndex() { return RULE_tableOptions; }
19653 @Override
19654 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19655 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableOptions(this);
19656 else return visitor.visitChildren(this);
19657 }
19658 }
19659
19660 public final TableOptionsContext tableOptions() throws RecognitionException {
19661 TableOptionsContext _localctx = new TableOptionsContext(_ctx, getState());
19662 enterRule(_localctx, 424, RULE_tableOptions);
19663 int _la;
19664 try {
19665 enterOuterAlt(_localctx, 1);
19666 {
19667 setState(2939);
19668 match(LP_);
19669 setState(2940);
19670 tableOption();
19671 setState(2945);
19672 _errHandler.sync(this);
19673 _la = _input.LA(1);
19674 while (_la==COMMA_) {
19675 {
19676 {
19677 setState(2941);
19678 match(COMMA_);
19679 setState(2942);
19680 tableOption();
19681 }
19682 }
19683 setState(2947);
19684 _errHandler.sync(this);
19685 _la = _input.LA(1);
19686 }
19687 setState(2948);
19688 match(RP_);
19689 }
19690 }
19691 catch (RecognitionException re) {
19692 _localctx.exception = re;
19693 _errHandler.reportError(this, re);
19694 _errHandler.recover(this, re);
19695 }
19696 finally {
19697 exitRule();
19698 }
19699 return _localctx;
19700 }
19701
19702 public static class TableOptionContext extends ParserRuleContext {
19703 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
19704 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
19705 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
19706 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
19707 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
19708 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
19709 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
19710 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19711 public PartitionExpressionsContext partitionExpressions() {
19712 return getRuleContext(PartitionExpressionsContext.class,0);
19713 }
19714 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
19715 public TerminalNode FILETABLE_DIRECTORY() { return getToken(SQLServerStatementParser.FILETABLE_DIRECTORY, 0); }
19716 public IgnoredIdentifierContext ignoredIdentifier() {
19717 return getRuleContext(IgnoredIdentifierContext.class,0);
19718 }
19719 public TerminalNode FILETABLE_COLLATE_FILENAME() { return getToken(SQLServerStatementParser.FILETABLE_COLLATE_FILENAME, 0); }
19720 public CollationNameContext collationName() {
19721 return getRuleContext(CollationNameContext.class,0);
19722 }
19723 public TerminalNode DATABASE_DEAULT() { return getToken(SQLServerStatementParser.DATABASE_DEAULT, 0); }
19724 public TerminalNode FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME, 0); }
19725 public TerminalNode FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME, 0); }
19726 public TerminalNode FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME, 0); }
19727 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
19728 public OnHistoryTableClauseContext onHistoryTableClause() {
19729 return getRuleContext(OnHistoryTableClauseContext.class,0);
19730 }
19731 public TerminalNode REMOTE_DATA_ARCHIVE() { return getToken(SQLServerStatementParser.REMOTE_DATA_ARCHIVE, 0); }
19732 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
19733 public MigrationState_Context migrationState_() {
19734 return getRuleContext(MigrationState_Context.class,0);
19735 }
19736 public TableStretchOptionsContext tableStretchOptions() {
19737 return getRuleContext(TableStretchOptionsContext.class,0);
19738 }
19739 public TableOperationOptionContext tableOperationOption() {
19740 return getRuleContext(TableOperationOptionContext.class,0);
19741 }
19742 public DistributionOptionContext distributionOption() {
19743 return getRuleContext(DistributionOptionContext.class,0);
19744 }
19745 public DataWareHouseTableOptionContext dataWareHouseTableOption() {
19746 return getRuleContext(DataWareHouseTableOptionContext.class,0);
19747 }
19748 public DataDelectionOptionContext dataDelectionOption() {
19749 return getRuleContext(DataDelectionOptionContext.class,0);
19750 }
19751 public DataWareHousePartitionOptionContext dataWareHousePartitionOption() {
19752 return getRuleContext(DataWareHousePartitionOptionContext.class,0);
19753 }
19754 public TableOptionContext(ParserRuleContext parent, int invokingState) {
19755 super(parent, invokingState);
19756 }
19757 @Override public int getRuleIndex() { return RULE_tableOption; }
19758 @Override
19759 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19760 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableOption(this);
19761 else return visitor.visitChildren(this);
19762 }
19763 }
19764
19765 public final TableOptionContext tableOption() throws RecognitionException {
19766 TableOptionContext _localctx = new TableOptionContext(_ctx, getState());
19767 enterRule(_localctx, 426, RULE_tableOption);
19768 int _la;
19769 try {
19770 setState(3000);
19771 _errHandler.sync(this);
19772 switch ( getInterpreter().adaptivePredict(_input,259,_ctx) ) {
19773 case 1:
19774 enterOuterAlt(_localctx, 1);
19775 {
19776 setState(2950);
19777 match(DATA_COMPRESSION);
19778 setState(2951);
19779 match(EQ_);
19780 setState(2952);
19781 _la = _input.LA(1);
19782 if ( !(((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (ROW - 248)) | (1L << (NONE - 248)) | (1L << (PAGE - 248)))) != 0)) ) {
19783 _errHandler.recoverInline(this);
19784 }
19785 else {
19786 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
19787 _errHandler.reportMatch(this);
19788 consume();
19789 }
19790 setState(2959);
19791 _errHandler.sync(this);
19792 _la = _input.LA(1);
19793 if (_la==ON) {
19794 {
19795 setState(2953);
19796 match(ON);
19797 setState(2954);
19798 match(PARTITIONS);
19799 setState(2955);
19800 match(LP_);
19801 setState(2956);
19802 partitionExpressions();
19803 setState(2957);
19804 match(RP_);
19805 }
19806 }
19807
19808 }
19809 break;
19810 case 2:
19811 enterOuterAlt(_localctx, 2);
19812 {
19813 setState(2961);
19814 match(FILETABLE_DIRECTORY);
19815 setState(2962);
19816 match(EQ_);
19817 setState(2963);
19818 ignoredIdentifier();
19819 }
19820 break;
19821 case 3:
19822 enterOuterAlt(_localctx, 3);
19823 {
19824 setState(2964);
19825 match(FILETABLE_COLLATE_FILENAME);
19826 setState(2965);
19827 match(EQ_);
19828 setState(2968);
19829 _errHandler.sync(this);
19830 switch (_input.LA(1)) {
19831 case IDENTIFIER_:
19832 case STRING_:
19833 {
19834 setState(2966);
19835 collationName();
19836 }
19837 break;
19838 case DATABASE_DEAULT:
19839 {
19840 setState(2967);
19841 match(DATABASE_DEAULT);
19842 }
19843 break;
19844 default:
19845 throw new NoViableAltException(this);
19846 }
19847 }
19848 break;
19849 case 4:
19850 enterOuterAlt(_localctx, 4);
19851 {
19852 setState(2970);
19853 match(FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME);
19854 setState(2971);
19855 match(EQ_);
19856 setState(2972);
19857 ignoredIdentifier();
19858 }
19859 break;
19860 case 5:
19861 enterOuterAlt(_localctx, 5);
19862 {
19863 setState(2973);
19864 match(FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME);
19865 setState(2974);
19866 match(EQ_);
19867 setState(2975);
19868 ignoredIdentifier();
19869 }
19870 break;
19871 case 6:
19872 enterOuterAlt(_localctx, 6);
19873 {
19874 setState(2976);
19875 match(FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME);
19876 setState(2977);
19877 match(EQ_);
19878 setState(2978);
19879 ignoredIdentifier();
19880 }
19881 break;
19882 case 7:
19883 enterOuterAlt(_localctx, 7);
19884 {
19885 setState(2979);
19886 match(SYSTEM_VERSIONING);
19887 setState(2980);
19888 match(EQ_);
19889 setState(2981);
19890 match(ON);
19891 setState(2983);
19892 _errHandler.sync(this);
19893 _la = _input.LA(1);
19894 if (_la==LP_) {
19895 {
19896 setState(2982);
19897 onHistoryTableClause();
19898 }
19899 }
19900
19901 }
19902 break;
19903 case 8:
19904 enterOuterAlt(_localctx, 8);
19905 {
19906 setState(2985);
19907 match(REMOTE_DATA_ARCHIVE);
19908 setState(2986);
19909 match(EQ_);
19910 setState(2993);
19911 _errHandler.sync(this);
19912 switch (_input.LA(1)) {
19913 case ON:
19914 {
19915 setState(2987);
19916 match(ON);
19917 setState(2989);
19918 _errHandler.sync(this);
19919 _la = _input.LA(1);
19920 if (_la==LP_) {
19921 {
19922 setState(2988);
19923 tableStretchOptions();
19924 }
19925 }
19926
19927 }
19928 break;
19929 case OFF:
19930 {
19931 setState(2991);
19932 match(OFF);
19933 setState(2992);
19934 migrationState_();
19935 }
19936 break;
19937 default:
19938 throw new NoViableAltException(this);
19939 }
19940 }
19941 break;
19942 case 9:
19943 enterOuterAlt(_localctx, 9);
19944 {
19945 setState(2995);
19946 tableOperationOption();
19947 }
19948 break;
19949 case 10:
19950 enterOuterAlt(_localctx, 10);
19951 {
19952 setState(2996);
19953 distributionOption();
19954 }
19955 break;
19956 case 11:
19957 enterOuterAlt(_localctx, 11);
19958 {
19959 setState(2997);
19960 dataWareHouseTableOption();
19961 }
19962 break;
19963 case 12:
19964 enterOuterAlt(_localctx, 12);
19965 {
19966 setState(2998);
19967 dataDelectionOption();
19968 }
19969 break;
19970 case 13:
19971 enterOuterAlt(_localctx, 13);
19972 {
19973 setState(2999);
19974 dataWareHousePartitionOption();
19975 }
19976 break;
19977 }
19978 }
19979 catch (RecognitionException re) {
19980 _localctx.exception = re;
19981 _errHandler.reportError(this, re);
19982 _errHandler.recover(this, re);
19983 }
19984 finally {
19985 exitRule();
19986 }
19987 return _localctx;
19988 }
19989
19990 public static class DataDelectionOptionContext extends ParserRuleContext {
19991 public TerminalNode DATA_DELETION() { return getToken(SQLServerStatementParser.DATA_DELETION, 0); }
19992 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
19993 public TerminalNode EQ_(int i) {
19994 return getToken(SQLServerStatementParser.EQ_, i);
19995 }
19996 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
19997 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
19998 public TerminalNode FILTER_COLUMN() { return getToken(SQLServerStatementParser.FILTER_COLUMN, 0); }
19999 public ColumnNameContext columnName() {
20000 return getRuleContext(ColumnNameContext.class,0);
20001 }
20002 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
20003 public TerminalNode RETENTION_PERIOD() { return getToken(SQLServerStatementParser.RETENTION_PERIOD, 0); }
20004 public HistoryRetentionPeriodContext historyRetentionPeriod() {
20005 return getRuleContext(HistoryRetentionPeriodContext.class,0);
20006 }
20007 public DataDelectionOptionContext(ParserRuleContext parent, int invokingState) {
20008 super(parent, invokingState);
20009 }
20010 @Override public int getRuleIndex() { return RULE_dataDelectionOption; }
20011 @Override
20012 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20013 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataDelectionOption(this);
20014 else return visitor.visitChildren(this);
20015 }
20016 }
20017
20018 public final DataDelectionOptionContext dataDelectionOption() throws RecognitionException {
20019 DataDelectionOptionContext _localctx = new DataDelectionOptionContext(_ctx, getState());
20020 enterRule(_localctx, 428, RULE_dataDelectionOption);
20021 try {
20022 enterOuterAlt(_localctx, 1);
20023 {
20024 setState(3002);
20025 match(DATA_DELETION);
20026 setState(3003);
20027 match(EQ_);
20028 setState(3004);
20029 match(ON);
20030 {
20031 setState(3005);
20032 match(LP_);
20033 setState(3006);
20034 match(FILTER_COLUMN);
20035 setState(3007);
20036 match(EQ_);
20037 setState(3008);
20038 columnName();
20039 setState(3009);
20040 match(COMMA_);
20041 setState(3010);
20042 match(RETENTION_PERIOD);
20043 setState(3011);
20044 match(EQ_);
20045 setState(3012);
20046 historyRetentionPeriod();
20047 }
20048 }
20049 }
20050 catch (RecognitionException re) {
20051 _localctx.exception = re;
20052 _errHandler.reportError(this, re);
20053 _errHandler.recover(this, re);
20054 }
20055 finally {
20056 exitRule();
20057 }
20058 return _localctx;
20059 }
20060
20061 public static class TableStretchOptionsContext extends ParserRuleContext {
20062 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
20063 public List<TableStretchOptionContext> tableStretchOption() {
20064 return getRuleContexts(TableStretchOptionContext.class);
20065 }
20066 public TableStretchOptionContext tableStretchOption(int i) {
20067 return getRuleContext(TableStretchOptionContext.class,i);
20068 }
20069 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
20070 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
20071 public TerminalNode COMMA_(int i) {
20072 return getToken(SQLServerStatementParser.COMMA_, i);
20073 }
20074 public TableStretchOptionsContext(ParserRuleContext parent, int invokingState) {
20075 super(parent, invokingState);
20076 }
20077 @Override public int getRuleIndex() { return RULE_tableStretchOptions; }
20078 @Override
20079 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20080 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableStretchOptions(this);
20081 else return visitor.visitChildren(this);
20082 }
20083 }
20084
20085 public final TableStretchOptionsContext tableStretchOptions() throws RecognitionException {
20086 TableStretchOptionsContext _localctx = new TableStretchOptionsContext(_ctx, getState());
20087 enterRule(_localctx, 430, RULE_tableStretchOptions);
20088 int _la;
20089 try {
20090 enterOuterAlt(_localctx, 1);
20091 {
20092 setState(3014);
20093 match(LP_);
20094 setState(3015);
20095 tableStretchOption();
20096 setState(3020);
20097 _errHandler.sync(this);
20098 _la = _input.LA(1);
20099 while (_la==COMMA_) {
20100 {
20101 {
20102 setState(3016);
20103 match(COMMA_);
20104 setState(3017);
20105 tableStretchOption();
20106 }
20107 }
20108 setState(3022);
20109 _errHandler.sync(this);
20110 _la = _input.LA(1);
20111 }
20112 setState(3023);
20113 match(RP_);
20114 }
20115 }
20116 catch (RecognitionException re) {
20117 _localctx.exception = re;
20118 _errHandler.reportError(this, re);
20119 _errHandler.recover(this, re);
20120 }
20121 finally {
20122 exitRule();
20123 }
20124 return _localctx;
20125 }
20126
20127 public static class TableStretchOptionContext extends ParserRuleContext {
20128 public TerminalNode MIGRATION_STATE() { return getToken(SQLServerStatementParser.MIGRATION_STATE, 0); }
20129 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
20130 public TerminalNode EQ_(int i) {
20131 return getToken(SQLServerStatementParser.EQ_, i);
20132 }
20133 public TerminalNode OUTBOUND() { return getToken(SQLServerStatementParser.OUTBOUND, 0); }
20134 public TerminalNode INBOUND() { return getToken(SQLServerStatementParser.INBOUND, 0); }
20135 public TerminalNode PAUSED() { return getToken(SQLServerStatementParser.PAUSED, 0); }
20136 public TerminalNode FILTER_PREDICATE() { return getToken(SQLServerStatementParser.FILTER_PREDICATE, 0); }
20137 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
20138 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
20139 public FunctionCallContext functionCall() {
20140 return getRuleContext(FunctionCallContext.class,0);
20141 }
20142 public TableStretchOptionContext(ParserRuleContext parent, int invokingState) {
20143 super(parent, invokingState);
20144 }
20145 @Override public int getRuleIndex() { return RULE_tableStretchOption; }
20146 @Override
20147 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20148 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableStretchOption(this);
20149 else return visitor.visitChildren(this);
20150 }
20151 }
20152
20153 public final TableStretchOptionContext tableStretchOption() throws RecognitionException {
20154 TableStretchOptionContext _localctx = new TableStretchOptionContext(_ctx, getState());
20155 enterRule(_localctx, 432, RULE_tableStretchOption);
20156 int _la;
20157 try {
20158 enterOuterAlt(_localctx, 1);
20159 {
20160 setState(3032);
20161 _errHandler.sync(this);
20162 _la = _input.LA(1);
20163 if (_la==FILTER_PREDICATE) {
20164 {
20165 setState(3025);
20166 match(FILTER_PREDICATE);
20167 setState(3026);
20168 match(EQ_);
20169 setState(3029);
20170 _errHandler.sync(this);
20171 switch (_input.LA(1)) {
20172 case NULL:
20173 {
20174 setState(3027);
20175 match(NULL);
20176 }
20177 break;
20178 case TRUNCATE:
20179 case SCHEMA:
20180 case COLUMNS:
20181 case PRECISION:
20182 case FUNCTION:
20183 case TRIGGER:
20184 case CAST:
20185 case TRIM:
20186 case SUBSTRING:
20187 case OFF:
20188 case IF:
20189 case GROUP:
20190 case LIMIT:
20191 case OFFSET:
20192 case SAVEPOINT:
20193 case BOOLEAN:
20194 case CHAR:
20195 case ARRAY:
20196 case INTERVAL:
20197 case DATE:
20198 case TIMESTAMP:
20199 case LOCALTIME:
20200 case LOCALTIMESTAMP:
20201 case YEAR:
20202 case QUARTER:
20203 case MONTH:
20204 case WEEK:
20205 case DAY:
20206 case SECOND:
20207 case MICROSECOND:
20208 case MAX:
20209 case MIN:
20210 case SUM:
20211 case COUNT:
20212 case AVG:
20213 case ENABLE:
20214 case DISABLE:
20215 case INSTANCE:
20216 case DO:
20217 case DEFINER:
20218 case SQL:
20219 case CASCADED:
20220 case LOCAL:
20221 case NEXT:
20222 case NAME:
20223 case INTEGER:
20224 case TYPE:
20225 case TEXT:
20226 case VIEWS:
20227 case READ_ONLY:
20228 case DATABASE:
20229 case RETURNS:
20230 case DATEPART:
20231 case PASSWORD:
20232 case JSON_OBJECT:
20233 case JSON_ARRAY:
20234 case FIRST_VALUE:
20235 case LAST_VALUE:
20236 case APPROX_PERCENTILE_CONT:
20237 case APPROX_PERCENTILE_DISC:
20238 case BINARY:
20239 case HIDDEN_:
20240 case MOD:
20241 case PARTITION:
20242 case PARTITIONS:
20243 case TOP:
20244 case ROW:
20245 case ROWS:
20246 case XOR:
20247 case ALWAYS:
20248 case ROLE:
20249 case START:
20250 case ALGORITHM:
20251 case AUTO:
20252 case BLOCKERS:
20253 case CLUSTERED:
20254 case NONCLUSTERED:
20255 case COLUMNSTORE:
20256 case CONTENT:
20257 case CONVERT:
20258 case YEARS:
20259 case MONTHS:
20260 case WEEKS:
20261 case DAYS:
20262 case MINUTES:
20263 case DENY:
20264 case DETERMINISTIC:
20265 case DISTRIBUTION:
20266 case DOCUMENT:
20267 case DURABILITY:
20268 case ENCRYPTED:
20269 case FILESTREAM:
20270 case FILETABLE:
20271 case FILLFACTOR:
20272 case FOLLOWING:
20273 case HASH:
20274 case HEAP:
20275 case INBOUND:
20276 case OUTBOUND:
20277 case UNBOUNDED:
20278 case INFINITE:
20279 case LOGIN:
20280 case MASKED:
20281 case MAXDOP:
20282 case MOVE:
20283 case NOCHECK:
20284 case OBJECT:
20285 case ONLINE:
20286 case OVER:
20287 case PAGE:
20288 case PAUSED:
20289 case PERIOD:
20290 case PERSISTED:
20291 case PRECEDING:
20292 case RANDOMIZED:
20293 case RANGE:
20294 case REBUILD:
20295 case REPLICATE:
20296 case REPLICATION:
20297 case RESUMABLE:
20298 case ROWGUIDCOL:
20299 case SAVE:
20300 case SELF:
20301 case SPARSE:
20302 case SWITCH:
20303 case TRAN:
20304 case TRANCOUNT:
20305 case CONTROL:
20306 case CONCAT:
20307 case TAKE:
20308 case OWNERSHIP:
20309 case DEFINITION:
20310 case APPLICATION:
20311 case ASSEMBLY:
20312 case SYMMETRIC:
20313 case ASYMMETRIC:
20314 case SERVER:
20315 case RECEIVE:
20316 case CHANGE:
20317 case TRACE:
20318 case TRACKING:
20319 case RESOURCES:
20320 case SETTINGS:
20321 case STATE:
20322 case AVAILABILITY:
20323 case CREDENTIAL:
20324 case ENDPOINT:
20325 case EVENT:
20326 case NOTIFICATION:
20327 case LINKED:
20328 case AUDIT:
20329 case DDL:
20330 case XML:
20331 case IMPERSONATE:
20332 case SECURABLES:
20333 case AUTHENTICATE:
20334 case EXTERNAL:
20335 case ACCESS:
20336 case ADMINISTER:
20337 case BULK:
20338 case OPERATIONS:
20339 case UNSAFE:
20340 case SHUTDOWN:
20341 case SCOPED:
20342 case CONFIGURATION:
20343 case DATASPACE:
20344 case SERVICE:
20345 case CERTIFICATE:
20346 case CONTRACT:
20347 case ENCRYPTION:
20348 case MASTER:
20349 case DATA:
20350 case SOURCE:
20351 case FILE:
20352 case FORMAT:
20353 case LIBRARY:
20354 case FULLTEXT:
20355 case MASK:
20356 case UNMASK:
20357 case MESSAGE:
20358 case REMOTE:
20359 case BINDING:
20360 case ROUTE:
20361 case SECURITY:
20362 case POLICY:
20363 case AGGREGATE:
20364 case QUEUE:
20365 case RULE:
20366 case SYNONYM:
20367 case COLLECTION:
20368 case SCRIPT:
20369 case KILL:
20370 case BACKUP:
20371 case LOG:
20372 case SHOWPLAN:
20373 case SUBSCRIBE:
20374 case QUERY:
20375 case NOTIFICATIONS:
20376 case CHECKPOINT:
20377 case SEQUENCE:
20378 case ABORT_AFTER_WAIT:
20379 case ALLOW_PAGE_LOCKS:
20380 case ALLOW_ROW_LOCKS:
20381 case ALL_SPARSE_COLUMNS:
20382 case BUCKET_COUNT:
20383 case COLUMNSTORE_ARCHIVE:
20384 case COLUMN_ENCRYPTION_KEY:
20385 case COLUMN_SET:
20386 case COMPRESSION_DELAY:
20387 case DATABASE_DEAULT:
20388 case DATA_COMPRESSION:
20389 case DATA_CONSISTENCY_CHECK:
20390 case ENCRYPTION_TYPE:
20391 case SYSTEM_TIME:
20392 case SYSTEM_VERSIONING:
20393 case TEXTIMAGE_ON:
20394 case WAIT_AT_LOW_PRIORITY:
20395 case STATISTICS_INCREMENTAL:
20396 case STATISTICS_NORECOMPUTE:
20397 case ROUND_ROBIN:
20398 case SCHEMA_AND_DATA:
20399 case SCHEMA_ONLY:
20400 case SORT_IN_TEMPDB:
20401 case IGNORE_DUP_KEY:
20402 case IMPLICIT_TRANSACTIONS:
20403 case MAX_DURATION:
20404 case MEMORY_OPTIMIZED:
20405 case MIGRATION_STATE:
20406 case PAD_INDEX:
20407 case REMOTE_DATA_ARCHIVE:
20408 case FILESTREAM_ON:
20409 case FILETABLE_COLLATE_FILENAME:
20410 case FILETABLE_DIRECTORY:
20411 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
20412 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
20413 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
20414 case FILTER_PREDICATE:
20415 case HISTORY_RETENTION_PERIOD:
20416 case HISTORY_TABLE:
20417 case LOCK_ESCALATION:
20418 case DROP_EXISTING:
20419 case ROW_NUMBER:
20420 case FIRST:
20421 case DATETIME2:
20422 case OUTPUT:
20423 case INSERTED:
20424 case DELETED:
20425 case FILENAME:
20426 case SIZE:
20427 case MAXSIZE:
20428 case FILEGROWTH:
20429 case UNLIMITED:
20430 case KB:
20431 case MB:
20432 case GB:
20433 case TB:
20434 case CONTAINS:
20435 case MEMORY_OPTIMIZED_DATA:
20436 case FILEGROUP:
20437 case NON_TRANSACTED_ACCESS:
20438 case DB_CHAINING:
20439 case TRUSTWORTHY:
20440 case FORWARD_ONLY:
20441 case KEYSET:
20442 case FAST_FORWARD:
20443 case SCROLL_LOCKS:
20444 case OPTIMISTIC:
20445 case TYPE_WARNING:
20446 case SCHEMABINDING:
20447 case CALLER:
20448 case INPUT:
20449 case OWNER:
20450 case SNAPSHOT:
20451 case REPEATABLE:
20452 case SERIALIZABLE:
20453 case NATIVE_COMPILATION:
20454 case VIEW_METADATA:
20455 case INSTEAD:
20456 case APPEND:
20457 case INCREMENT:
20458 case CACHE:
20459 case MINVALUE:
20460 case MAXVALUE:
20461 case RESTART:
20462 case LOB_COMPACTION:
20463 case COMPRESS_ALL_ROW_GROUPS:
20464 case REORGANIZE:
20465 case RESUME:
20466 case PAUSE:
20467 case ABORT:
20468 case ACCELERATED_DATABASE_RECOVERY:
20469 case PERSISTENT_VERSION_STORE_FILEGROUP:
20470 case IMMEDIATE:
20471 case NO_WAIT:
20472 case TARGET_RECOVERY_TIME:
20473 case SECONDS:
20474 case HONOR_BROKER_PRIORITY:
20475 case ERROR_BROKER_CONVERSATIONS:
20476 case NEW_BROKER:
20477 case DISABLE_BROKER:
20478 case ENABLE_BROKER:
20479 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
20480 case READ_COMMITTED_SNAPSHOT:
20481 case ALLOW_SNAPSHOT_ISOLATION:
20482 case RECURSIVE_TRIGGERS:
20483 case QUOTED_IDENTIFIER:
20484 case NUMERIC_ROUNDABORT:
20485 case CONCAT_NULL_YIELDS_NULL:
20486 case COMPATIBILITY_LEVEL:
20487 case ARITHABORT:
20488 case ANSI_WARNINGS:
20489 case ANSI_PADDING:
20490 case ANSI_NULLS:
20491 case ANSI_NULL_DEFAULT:
20492 case PAGE_VERIFY:
20493 case CHECKSUM:
20494 case TORN_PAGE_DETECTION:
20495 case BULK_LOGGED:
20496 case RECOVERY:
20497 case TOTAL_EXECUTION_CPU_TIME_MS:
20498 case TOTAL_COMPILE_CPU_TIME_MS:
20499 case STALE_CAPTURE_POLICY_THRESHOLD:
20500 case EXECUTION_COUNT:
20501 case QUERY_CAPTURE_POLICY:
20502 case WAIT_STATS_CAPTURE_MODE:
20503 case MAX_PLANS_PER_QUERY:
20504 case QUERY_CAPTURE_MODE:
20505 case SIZE_BASED_CLEANUP_MODE:
20506 case INTERVAL_LENGTH_MINUTES:
20507 case MAX_STORAGE_SIZE_MB:
20508 case DATA_FLUSH_INTERVAL_SECONDS:
20509 case CLEANUP_POLICY:
20510 case CUSTOM:
20511 case STALE_QUERY_THRESHOLD_DAYS:
20512 case OPERATION_MODE:
20513 case QUERY_STORE:
20514 case CURSOR_DEFAULT:
20515 case GLOBAL:
20516 case CURSOR_CLOSE_ON_COMMIT:
20517 case HOURS:
20518 case CHANGE_RETENTION:
20519 case AUTO_CLEANUP:
20520 case CHANGE_TRACKING:
20521 case AUTOMATIC_TUNING:
20522 case FORCE_LAST_GOOD_PLAN:
20523 case AUTO_UPDATE_STATISTICS_ASYNC:
20524 case AUTO_UPDATE_STATISTICS:
20525 case AUTO_SHRINK:
20526 case AUTO_CREATE_STATISTICS:
20527 case INCREMENTAL:
20528 case AUTO_CLOSE:
20529 case DATA_RETENTION:
20530 case TEMPORAL_HISTORY_RETENTION:
20531 case EDITION:
20532 case MIXED_PAGE_ALLOCATION:
20533 case DISABLED:
20534 case ALLOWED:
20535 case HADR:
20536 case MULTI_USER:
20537 case RESTRICTED_USER:
20538 case SINGLE_USER:
20539 case OFFLINE:
20540 case EMERGENCY:
20541 case SUSPEND:
20542 case DATE_CORRELATION_OPTIMIZATION:
20543 case ELASTIC_POOL:
20544 case SERVICE_OBJECTIVE:
20545 case DATABASE_NAME:
20546 case ALLOW_CONNECTIONS:
20547 case GEO:
20548 case NAMED:
20549 case DATEFIRST:
20550 case BACKUP_STORAGE_REDUNDANCY:
20551 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
20552 case SECONDARY:
20553 case FAILOVER:
20554 case DEFAULT_FULLTEXT_LANGUAGE:
20555 case DEFAULT_LANGUAGE:
20556 case INLINE:
20557 case NESTED_TRIGGERS:
20558 case TRANSFORM_NOISE_WORDS:
20559 case TWO_DIGIT_YEAR_CUTOFF:
20560 case PERSISTENT_LOG_BUFFER:
20561 case DIRECTORY_NAME:
20562 case DATEFORMAT:
20563 case DELAYED_DURABILITY:
20564 case AUTHORIZATION:
20565 case TRANSFER:
20566 case PROVIDER:
20567 case SEARCH:
20568 case MEMBER:
20569 case OPENJSON:
20570 case OPENROWSET:
20571 case TRY_CAST:
20572 case TRY_CONVERT:
20573 case IDENTIFIER_:
20574 case DELIMITED_IDENTIFIER_:
20575 {
20576 setState(3028);
20577 functionCall();
20578 }
20579 break;
20580 default:
20581 throw new NoViableAltException(this);
20582 }
20583 setState(3031);
20584 match(COMMA_);
20585 }
20586 }
20587
20588 setState(3034);
20589 match(MIGRATION_STATE);
20590 setState(3035);
20591 match(EQ_);
20592 setState(3036);
20593 _la = _input.LA(1);
20594 if ( !(((((_la - 293)) & ~0x3f) == 0 && ((1L << (_la - 293)) & ((1L << (INBOUND - 293)) | (1L << (OUTBOUND - 293)) | (1L << (PAUSED - 293)))) != 0)) ) {
20595 _errHandler.recoverInline(this);
20596 }
20597 else {
20598 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
20599 _errHandler.reportMatch(this);
20600 consume();
20601 }
20602 }
20603 }
20604 catch (RecognitionException re) {
20605 _localctx.exception = re;
20606 _errHandler.reportError(this, re);
20607 _errHandler.recover(this, re);
20608 }
20609 finally {
20610 exitRule();
20611 }
20612 return _localctx;
20613 }
20614
20615 public static class MigrationState_Context extends ParserRuleContext {
20616 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
20617 public TerminalNode MIGRATION_STATE() { return getToken(SQLServerStatementParser.MIGRATION_STATE, 0); }
20618 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
20619 public TerminalNode PAUSED() { return getToken(SQLServerStatementParser.PAUSED, 0); }
20620 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
20621 public MigrationState_Context(ParserRuleContext parent, int invokingState) {
20622 super(parent, invokingState);
20623 }
20624 @Override public int getRuleIndex() { return RULE_migrationState_; }
20625 @Override
20626 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20627 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMigrationState_(this);
20628 else return visitor.visitChildren(this);
20629 }
20630 }
20631
20632 public final MigrationState_Context migrationState_() throws RecognitionException {
20633 MigrationState_Context _localctx = new MigrationState_Context(_ctx, getState());
20634 enterRule(_localctx, 434, RULE_migrationState_);
20635 try {
20636 enterOuterAlt(_localctx, 1);
20637 {
20638 setState(3038);
20639 match(LP_);
20640 setState(3039);
20641 match(MIGRATION_STATE);
20642 setState(3040);
20643 match(EQ_);
20644 setState(3041);
20645 match(PAUSED);
20646 setState(3042);
20647 match(RP_);
20648 }
20649 }
20650 catch (RecognitionException re) {
20651 _localctx.exception = re;
20652 _errHandler.reportError(this, re);
20653 _errHandler.recover(this, re);
20654 }
20655 finally {
20656 exitRule();
20657 }
20658 return _localctx;
20659 }
20660
20661 public static class TableOperationOptionContext extends ParserRuleContext {
20662 public TerminalNode MEMORY_OPTIMIZED() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED, 0); }
20663 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
20664 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
20665 public TerminalNode DURABILITY() { return getToken(SQLServerStatementParser.DURABILITY, 0); }
20666 public TerminalNode SCHEMA_ONLY() { return getToken(SQLServerStatementParser.SCHEMA_ONLY, 0); }
20667 public TerminalNode SCHEMA_AND_DATA() { return getToken(SQLServerStatementParser.SCHEMA_AND_DATA, 0); }
20668 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
20669 public OnHistoryTableClauseContext onHistoryTableClause() {
20670 return getRuleContext(OnHistoryTableClauseContext.class,0);
20671 }
20672 public TableOperationOptionContext(ParserRuleContext parent, int invokingState) {
20673 super(parent, invokingState);
20674 }
20675 @Override public int getRuleIndex() { return RULE_tableOperationOption; }
20676 @Override
20677 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20678 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableOperationOption(this);
20679 else return visitor.visitChildren(this);
20680 }
20681 }
20682
20683 public final TableOperationOptionContext tableOperationOption() throws RecognitionException {
20684 TableOperationOptionContext _localctx = new TableOperationOptionContext(_ctx, getState());
20685 enterRule(_localctx, 436, RULE_tableOperationOption);
20686 int _la;
20687 try {
20688 setState(3056);
20689 _errHandler.sync(this);
20690 switch (_input.LA(1)) {
20691 case MEMORY_OPTIMIZED:
20692 enterOuterAlt(_localctx, 1);
20693 {
20694 {
20695 setState(3044);
20696 match(MEMORY_OPTIMIZED);
20697 setState(3045);
20698 match(EQ_);
20699 setState(3046);
20700 match(ON);
20701 }
20702 }
20703 break;
20704 case DURABILITY:
20705 enterOuterAlt(_localctx, 2);
20706 {
20707 {
20708 setState(3047);
20709 match(DURABILITY);
20710 setState(3048);
20711 match(EQ_);
20712 setState(3049);
20713 _la = _input.LA(1);
20714 if ( !(_la==SCHEMA_AND_DATA || _la==SCHEMA_ONLY) ) {
20715 _errHandler.recoverInline(this);
20716 }
20717 else {
20718 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
20719 _errHandler.reportMatch(this);
20720 consume();
20721 }
20722 }
20723 }
20724 break;
20725 case SYSTEM_VERSIONING:
20726 enterOuterAlt(_localctx, 3);
20727 {
20728 {
20729 setState(3050);
20730 match(SYSTEM_VERSIONING);
20731 setState(3051);
20732 match(EQ_);
20733 setState(3052);
20734 match(ON);
20735 setState(3054);
20736 _errHandler.sync(this);
20737 _la = _input.LA(1);
20738 if (_la==LP_) {
20739 {
20740 setState(3053);
20741 onHistoryTableClause();
20742 }
20743 }
20744
20745 }
20746 }
20747 break;
20748 default:
20749 throw new NoViableAltException(this);
20750 }
20751 }
20752 catch (RecognitionException re) {
20753 _localctx.exception = re;
20754 _errHandler.reportError(this, re);
20755 _errHandler.recover(this, re);
20756 }
20757 finally {
20758 exitRule();
20759 }
20760 return _localctx;
20761 }
20762
20763 public static class DistributionOptionContext extends ParserRuleContext {
20764 public TerminalNode DISTRIBUTION() { return getToken(SQLServerStatementParser.DISTRIBUTION, 0); }
20765 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
20766 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
20767 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
20768 public ColumnNameContext columnName() {
20769 return getRuleContext(ColumnNameContext.class,0);
20770 }
20771 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
20772 public TerminalNode ROUND_ROBIN() { return getToken(SQLServerStatementParser.ROUND_ROBIN, 0); }
20773 public TerminalNode REPLICATE() { return getToken(SQLServerStatementParser.REPLICATE, 0); }
20774 public DistributionOptionContext(ParserRuleContext parent, int invokingState) {
20775 super(parent, invokingState);
20776 }
20777 @Override public int getRuleIndex() { return RULE_distributionOption; }
20778 @Override
20779 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20780 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDistributionOption(this);
20781 else return visitor.visitChildren(this);
20782 }
20783 }
20784
20785 public final DistributionOptionContext distributionOption() throws RecognitionException {
20786 DistributionOptionContext _localctx = new DistributionOptionContext(_ctx, getState());
20787 enterRule(_localctx, 438, RULE_distributionOption);
20788 try {
20789 enterOuterAlt(_localctx, 1);
20790 {
20791 setState(3058);
20792 match(DISTRIBUTION);
20793 setState(3059);
20794 match(EQ_);
20795 setState(3067);
20796 _errHandler.sync(this);
20797 switch (_input.LA(1)) {
20798 case HASH:
20799 {
20800 setState(3060);
20801 match(HASH);
20802 setState(3061);
20803 match(LP_);
20804 setState(3062);
20805 columnName();
20806 setState(3063);
20807 match(RP_);
20808 }
20809 break;
20810 case ROUND_ROBIN:
20811 {
20812 setState(3065);
20813 match(ROUND_ROBIN);
20814 }
20815 break;
20816 case REPLICATE:
20817 {
20818 setState(3066);
20819 match(REPLICATE);
20820 }
20821 break;
20822 default:
20823 throw new NoViableAltException(this);
20824 }
20825 }
20826 }
20827 catch (RecognitionException re) {
20828 _localctx.exception = re;
20829 _errHandler.reportError(this, re);
20830 _errHandler.recover(this, re);
20831 }
20832 finally {
20833 exitRule();
20834 }
20835 return _localctx;
20836 }
20837
20838 public static class DataWareHouseTableOptionContext extends ParserRuleContext {
20839 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
20840 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
20841 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
20842 public TerminalNode ORDER() { return getToken(SQLServerStatementParser.ORDER, 0); }
20843 public ColumnNamesContext columnNames() {
20844 return getRuleContext(ColumnNamesContext.class,0);
20845 }
20846 public TerminalNode HEAP() { return getToken(SQLServerStatementParser.HEAP, 0); }
20847 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
20848 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
20849 public List<ColumnNameContext> columnName() {
20850 return getRuleContexts(ColumnNameContext.class);
20851 }
20852 public ColumnNameContext columnName(int i) {
20853 return getRuleContext(ColumnNameContext.class,i);
20854 }
20855 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
20856 public TerminalNode COMMA_(int i) {
20857 return getToken(SQLServerStatementParser.COMMA_, i);
20858 }
20859 public List<TerminalNode> ASC() { return getTokens(SQLServerStatementParser.ASC); }
20860 public TerminalNode ASC(int i) {
20861 return getToken(SQLServerStatementParser.ASC, i);
20862 }
20863 public List<TerminalNode> DESC() { return getTokens(SQLServerStatementParser.DESC); }
20864 public TerminalNode DESC(int i) {
20865 return getToken(SQLServerStatementParser.DESC, i);
20866 }
20867 public DataWareHouseTableOptionContext(ParserRuleContext parent, int invokingState) {
20868 super(parent, invokingState);
20869 }
20870 @Override public int getRuleIndex() { return RULE_dataWareHouseTableOption; }
20871 @Override
20872 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20873 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataWareHouseTableOption(this);
20874 else return visitor.visitChildren(this);
20875 }
20876 }
20877
20878 public final DataWareHouseTableOptionContext dataWareHouseTableOption() throws RecognitionException {
20879 DataWareHouseTableOptionContext _localctx = new DataWareHouseTableOptionContext(_ctx, getState());
20880 enterRule(_localctx, 440, RULE_dataWareHouseTableOption);
20881 int _la;
20882 try {
20883 setState(3097);
20884 _errHandler.sync(this);
20885 switch ( getInterpreter().adaptivePredict(_input,269,_ctx) ) {
20886 case 1:
20887 enterOuterAlt(_localctx, 1);
20888 {
20889 setState(3069);
20890 match(CLUSTERED);
20891 setState(3070);
20892 match(COLUMNSTORE);
20893 setState(3071);
20894 match(INDEX);
20895 }
20896 break;
20897 case 2:
20898 enterOuterAlt(_localctx, 2);
20899 {
20900 setState(3072);
20901 match(CLUSTERED);
20902 setState(3073);
20903 match(COLUMNSTORE);
20904 setState(3074);
20905 match(INDEX);
20906 setState(3075);
20907 match(ORDER);
20908 setState(3076);
20909 columnNames();
20910 }
20911 break;
20912 case 3:
20913 enterOuterAlt(_localctx, 3);
20914 {
20915 setState(3077);
20916 match(HEAP);
20917 }
20918 break;
20919 case 4:
20920 enterOuterAlt(_localctx, 4);
20921 {
20922 setState(3078);
20923 match(CLUSTERED);
20924 setState(3079);
20925 match(INDEX);
20926 setState(3080);
20927 match(LP_);
20928 {
20929 setState(3081);
20930 columnName();
20931 setState(3083);
20932 _errHandler.sync(this);
20933 _la = _input.LA(1);
20934 if (_la==ASC || _la==DESC) {
20935 {
20936 setState(3082);
20937 _la = _input.LA(1);
20938 if ( !(_la==ASC || _la==DESC) ) {
20939 _errHandler.recoverInline(this);
20940 }
20941 else {
20942 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
20943 _errHandler.reportMatch(this);
20944 consume();
20945 }
20946 }
20947 }
20948
20949 }
20950 setState(3092);
20951 _errHandler.sync(this);
20952 _la = _input.LA(1);
20953 while (_la==COMMA_) {
20954 {
20955 {
20956 setState(3085);
20957 match(COMMA_);
20958 {
20959 setState(3086);
20960 columnName();
20961 setState(3088);
20962 _errHandler.sync(this);
20963 _la = _input.LA(1);
20964 if (_la==ASC || _la==DESC) {
20965 {
20966 setState(3087);
20967 _la = _input.LA(1);
20968 if ( !(_la==ASC || _la==DESC) ) {
20969 _errHandler.recoverInline(this);
20970 }
20971 else {
20972 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
20973 _errHandler.reportMatch(this);
20974 consume();
20975 }
20976 }
20977 }
20978
20979 }
20980 }
20981 }
20982 setState(3094);
20983 _errHandler.sync(this);
20984 _la = _input.LA(1);
20985 }
20986 setState(3095);
20987 match(RP_);
20988 }
20989 break;
20990 }
20991 }
20992 catch (RecognitionException re) {
20993 _localctx.exception = re;
20994 _errHandler.reportError(this, re);
20995 _errHandler.recover(this, re);
20996 }
20997 finally {
20998 exitRule();
20999 }
21000 return _localctx;
21001 }
21002
21003 public static class DataWareHousePartitionOptionContext extends ParserRuleContext {
21004 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
21005 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
21006 public TerminalNode LP_(int i) {
21007 return getToken(SQLServerStatementParser.LP_, i);
21008 }
21009 public ColumnNameContext columnName() {
21010 return getRuleContext(ColumnNameContext.class,0);
21011 }
21012 public TerminalNode RANGE() { return getToken(SQLServerStatementParser.RANGE, 0); }
21013 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
21014 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
21015 public List<SimpleExprContext> simpleExpr() {
21016 return getRuleContexts(SimpleExprContext.class);
21017 }
21018 public SimpleExprContext simpleExpr(int i) {
21019 return getRuleContext(SimpleExprContext.class,i);
21020 }
21021 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
21022 public TerminalNode RP_(int i) {
21023 return getToken(SQLServerStatementParser.RP_, i);
21024 }
21025 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
21026 public TerminalNode COMMA_(int i) {
21027 return getToken(SQLServerStatementParser.COMMA_, i);
21028 }
21029 public TerminalNode LEFT() { return getToken(SQLServerStatementParser.LEFT, 0); }
21030 public TerminalNode RIGHT() { return getToken(SQLServerStatementParser.RIGHT, 0); }
21031 public DataWareHousePartitionOptionContext(ParserRuleContext parent, int invokingState) {
21032 super(parent, invokingState);
21033 }
21034 @Override public int getRuleIndex() { return RULE_dataWareHousePartitionOption; }
21035 @Override
21036 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21037 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataWareHousePartitionOption(this);
21038 else return visitor.visitChildren(this);
21039 }
21040 }
21041
21042 public final DataWareHousePartitionOptionContext dataWareHousePartitionOption() throws RecognitionException {
21043 DataWareHousePartitionOptionContext _localctx = new DataWareHousePartitionOptionContext(_ctx, getState());
21044 enterRule(_localctx, 442, RULE_dataWareHousePartitionOption);
21045 int _la;
21046 try {
21047 enterOuterAlt(_localctx, 1);
21048 {
21049 {
21050 setState(3099);
21051 match(PARTITION);
21052 setState(3100);
21053 match(LP_);
21054 setState(3101);
21055 columnName();
21056 setState(3102);
21057 match(RANGE);
21058 setState(3104);
21059 _errHandler.sync(this);
21060 _la = _input.LA(1);
21061 if (_la==LEFT || _la==RIGHT) {
21062 {
21063 setState(3103);
21064 _la = _input.LA(1);
21065 if ( !(_la==LEFT || _la==RIGHT) ) {
21066 _errHandler.recoverInline(this);
21067 }
21068 else {
21069 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21070 _errHandler.reportMatch(this);
21071 consume();
21072 }
21073 }
21074 }
21075
21076 setState(3106);
21077 match(FOR);
21078 setState(3107);
21079 match(VALUES);
21080 setState(3108);
21081 match(LP_);
21082 setState(3109);
21083 simpleExpr(0);
21084 setState(3114);
21085 _errHandler.sync(this);
21086 _la = _input.LA(1);
21087 while (_la==COMMA_) {
21088 {
21089 {
21090 setState(3110);
21091 match(COMMA_);
21092 setState(3111);
21093 simpleExpr(0);
21094 }
21095 }
21096 setState(3116);
21097 _errHandler.sync(this);
21098 _la = _input.LA(1);
21099 }
21100 setState(3117);
21101 match(RP_);
21102 setState(3118);
21103 match(RP_);
21104 }
21105 }
21106 }
21107 catch (RecognitionException re) {
21108 _localctx.exception = re;
21109 _errHandler.reportError(this, re);
21110 _errHandler.recover(this, re);
21111 }
21112 finally {
21113 exitRule();
21114 }
21115 return _localctx;
21116 }
21117
21118 public static class CreateIndexSpecificationContext extends ParserRuleContext {
21119 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
21120 public ClusterOptionContext clusterOption() {
21121 return getRuleContext(ClusterOptionContext.class,0);
21122 }
21123 public CreateIndexSpecificationContext(ParserRuleContext parent, int invokingState) {
21124 super(parent, invokingState);
21125 }
21126 @Override public int getRuleIndex() { return RULE_createIndexSpecification; }
21127 @Override
21128 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21129 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateIndexSpecification(this);
21130 else return visitor.visitChildren(this);
21131 }
21132 }
21133
21134 public final CreateIndexSpecificationContext createIndexSpecification() throws RecognitionException {
21135 CreateIndexSpecificationContext _localctx = new CreateIndexSpecificationContext(_ctx, getState());
21136 enterRule(_localctx, 444, RULE_createIndexSpecification);
21137 int _la;
21138 try {
21139 enterOuterAlt(_localctx, 1);
21140 {
21141 setState(3121);
21142 _errHandler.sync(this);
21143 _la = _input.LA(1);
21144 if (_la==UNIQUE) {
21145 {
21146 setState(3120);
21147 match(UNIQUE);
21148 }
21149 }
21150
21151 setState(3124);
21152 _errHandler.sync(this);
21153 _la = _input.LA(1);
21154 if (_la==CLUSTERED || _la==NONCLUSTERED) {
21155 {
21156 setState(3123);
21157 clusterOption();
21158 }
21159 }
21160
21161 }
21162 }
21163 catch (RecognitionException re) {
21164 _localctx.exception = re;
21165 _errHandler.reportError(this, re);
21166 _errHandler.recover(this, re);
21167 }
21168 finally {
21169 exitRule();
21170 }
21171 return _localctx;
21172 }
21173
21174 public static class AlterDefinitionClauseContext extends ParserRuleContext {
21175 public AddColumnSpecificationContext addColumnSpecification() {
21176 return getRuleContext(AddColumnSpecificationContext.class,0);
21177 }
21178 public ModifyColumnSpecificationContext modifyColumnSpecification() {
21179 return getRuleContext(ModifyColumnSpecificationContext.class,0);
21180 }
21181 public AlterDropContext alterDrop() {
21182 return getRuleContext(AlterDropContext.class,0);
21183 }
21184 public AlterCheckConstraintContext alterCheckConstraint() {
21185 return getRuleContext(AlterCheckConstraintContext.class,0);
21186 }
21187 public AlterTableTriggerContext alterTableTrigger() {
21188 return getRuleContext(AlterTableTriggerContext.class,0);
21189 }
21190 public AlterSwitchContext alterSwitch() {
21191 return getRuleContext(AlterSwitchContext.class,0);
21192 }
21193 public AlterSetContext alterSet() {
21194 return getRuleContext(AlterSetContext.class,0);
21195 }
21196 public AlterTableOptionContext alterTableOption() {
21197 return getRuleContext(AlterTableOptionContext.class,0);
21198 }
21199 public TerminalNode REBUILD() { return getToken(SQLServerStatementParser.REBUILD, 0); }
21200 public AlterDefinitionClauseContext(ParserRuleContext parent, int invokingState) {
21201 super(parent, invokingState);
21202 }
21203 @Override public int getRuleIndex() { return RULE_alterDefinitionClause; }
21204 @Override
21205 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21206 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDefinitionClause(this);
21207 else return visitor.visitChildren(this);
21208 }
21209 }
21210
21211 public final AlterDefinitionClauseContext alterDefinitionClause() throws RecognitionException {
21212 AlterDefinitionClauseContext _localctx = new AlterDefinitionClauseContext(_ctx, getState());
21213 enterRule(_localctx, 446, RULE_alterDefinitionClause);
21214 try {
21215 setState(3135);
21216 _errHandler.sync(this);
21217 switch ( getInterpreter().adaptivePredict(_input,274,_ctx) ) {
21218 case 1:
21219 enterOuterAlt(_localctx, 1);
21220 {
21221 setState(3126);
21222 addColumnSpecification();
21223 }
21224 break;
21225 case 2:
21226 enterOuterAlt(_localctx, 2);
21227 {
21228 setState(3127);
21229 modifyColumnSpecification();
21230 }
21231 break;
21232 case 3:
21233 enterOuterAlt(_localctx, 3);
21234 {
21235 setState(3128);
21236 alterDrop();
21237 }
21238 break;
21239 case 4:
21240 enterOuterAlt(_localctx, 4);
21241 {
21242 setState(3129);
21243 alterCheckConstraint();
21244 }
21245 break;
21246 case 5:
21247 enterOuterAlt(_localctx, 5);
21248 {
21249 setState(3130);
21250 alterTableTrigger();
21251 }
21252 break;
21253 case 6:
21254 enterOuterAlt(_localctx, 6);
21255 {
21256 setState(3131);
21257 alterSwitch();
21258 }
21259 break;
21260 case 7:
21261 enterOuterAlt(_localctx, 7);
21262 {
21263 setState(3132);
21264 alterSet();
21265 }
21266 break;
21267 case 8:
21268 enterOuterAlt(_localctx, 8);
21269 {
21270 setState(3133);
21271 alterTableOption();
21272 }
21273 break;
21274 case 9:
21275 enterOuterAlt(_localctx, 9);
21276 {
21277 setState(3134);
21278 match(REBUILD);
21279 }
21280 break;
21281 }
21282 }
21283 catch (RecognitionException re) {
21284 _localctx.exception = re;
21285 _errHandler.reportError(this, re);
21286 _errHandler.recover(this, re);
21287 }
21288 finally {
21289 exitRule();
21290 }
21291 return _localctx;
21292 }
21293
21294 public static class AddColumnSpecificationContext extends ParserRuleContext {
21295 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
21296 public AlterColumnAddOptionsContext alterColumnAddOptions() {
21297 return getRuleContext(AlterColumnAddOptionsContext.class,0);
21298 }
21299 public GeneratedColumnNamesClauseContext generatedColumnNamesClause() {
21300 return getRuleContext(GeneratedColumnNamesClauseContext.class,0);
21301 }
21302 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
21303 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
21304 public TerminalNode NOCHECK() { return getToken(SQLServerStatementParser.NOCHECK, 0); }
21305 public AddColumnSpecificationContext(ParserRuleContext parent, int invokingState) {
21306 super(parent, invokingState);
21307 }
21308 @Override public int getRuleIndex() { return RULE_addColumnSpecification; }
21309 @Override
21310 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21311 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddColumnSpecification(this);
21312 else return visitor.visitChildren(this);
21313 }
21314 }
21315
21316 public final AddColumnSpecificationContext addColumnSpecification() throws RecognitionException {
21317 AddColumnSpecificationContext _localctx = new AddColumnSpecificationContext(_ctx, getState());
21318 enterRule(_localctx, 448, RULE_addColumnSpecification);
21319 int _la;
21320 try {
21321 enterOuterAlt(_localctx, 1);
21322 {
21323 setState(3139);
21324 _errHandler.sync(this);
21325 _la = _input.LA(1);
21326 if (_la==WITH) {
21327 {
21328 setState(3137);
21329 match(WITH);
21330 setState(3138);
21331 _la = _input.LA(1);
21332 if ( !(_la==CHECK || _la==NOCHECK) ) {
21333 _errHandler.recoverInline(this);
21334 }
21335 else {
21336 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21337 _errHandler.reportMatch(this);
21338 consume();
21339 }
21340 }
21341 }
21342
21343 setState(3141);
21344 match(ADD);
21345 setState(3144);
21346 _errHandler.sync(this);
21347 switch ( getInterpreter().adaptivePredict(_input,276,_ctx) ) {
21348 case 1:
21349 {
21350 setState(3142);
21351 alterColumnAddOptions();
21352 }
21353 break;
21354 case 2:
21355 {
21356 setState(3143);
21357 generatedColumnNamesClause();
21358 }
21359 break;
21360 }
21361 }
21362 }
21363 catch (RecognitionException re) {
21364 _localctx.exception = re;
21365 _errHandler.reportError(this, re);
21366 _errHandler.recover(this, re);
21367 }
21368 finally {
21369 exitRule();
21370 }
21371 return _localctx;
21372 }
21373
21374 public static class ModifyColumnSpecificationContext extends ParserRuleContext {
21375 public AlterColumnOperationContext alterColumnOperation() {
21376 return getRuleContext(AlterColumnOperationContext.class,0);
21377 }
21378 public DataTypeContext dataType() {
21379 return getRuleContext(DataTypeContext.class,0);
21380 }
21381 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
21382 public CollationNameContext collationName() {
21383 return getRuleContext(CollationNameContext.class,0);
21384 }
21385 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
21386 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
21387 public TerminalNode SPARSE() { return getToken(SQLServerStatementParser.SPARSE, 0); }
21388 public ModifyColumnSpecificationContext(ParserRuleContext parent, int invokingState) {
21389 super(parent, invokingState);
21390 }
21391 @Override public int getRuleIndex() { return RULE_modifyColumnSpecification; }
21392 @Override
21393 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21394 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitModifyColumnSpecification(this);
21395 else return visitor.visitChildren(this);
21396 }
21397 }
21398
21399 public final ModifyColumnSpecificationContext modifyColumnSpecification() throws RecognitionException {
21400 ModifyColumnSpecificationContext _localctx = new ModifyColumnSpecificationContext(_ctx, getState());
21401 enterRule(_localctx, 450, RULE_modifyColumnSpecification);
21402 int _la;
21403 try {
21404 enterOuterAlt(_localctx, 1);
21405 {
21406 setState(3146);
21407 alterColumnOperation();
21408 setState(3147);
21409 dataType();
21410 setState(3150);
21411 _errHandler.sync(this);
21412 _la = _input.LA(1);
21413 if (_la==COLLATE) {
21414 {
21415 setState(3148);
21416 match(COLLATE);
21417 setState(3149);
21418 collationName();
21419 }
21420 }
21421
21422 setState(3155);
21423 _errHandler.sync(this);
21424 switch (_input.LA(1)) {
21425 case NULL:
21426 {
21427 setState(3152);
21428 match(NULL);
21429 }
21430 break;
21431 case NOT:
21432 {
21433 setState(3153);
21434 match(NOT);
21435 setState(3154);
21436 match(NULL);
21437 }
21438 break;
21439 case EOF:
21440 case COMMA_:
21441 case SEMI_:
21442 case SELECT:
21443 case INSERT:
21444 case UPDATE:
21445 case DELETE:
21446 case CREATE:
21447 case ALTER:
21448 case DROP:
21449 case TRUNCATE:
21450 case SET:
21451 case WITH:
21452 case DECLARE:
21453 case RETURN:
21454 case END:
21455 case SPARSE:
21456 break;
21457 default:
21458 break;
21459 }
21460 setState(3158);
21461 _errHandler.sync(this);
21462 _la = _input.LA(1);
21463 if (_la==SPARSE) {
21464 {
21465 setState(3157);
21466 match(SPARSE);
21467 }
21468 }
21469
21470 }
21471 }
21472 catch (RecognitionException re) {
21473 _localctx.exception = re;
21474 _errHandler.reportError(this, re);
21475 _errHandler.recover(this, re);
21476 }
21477 finally {
21478 exitRule();
21479 }
21480 return _localctx;
21481 }
21482
21483 public static class AlterColumnOperationContext extends ParserRuleContext {
21484 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
21485 public TerminalNode COLUMN() { return getToken(SQLServerStatementParser.COLUMN, 0); }
21486 public ColumnNameContext columnName() {
21487 return getRuleContext(ColumnNameContext.class,0);
21488 }
21489 public AlterColumnOperationContext(ParserRuleContext parent, int invokingState) {
21490 super(parent, invokingState);
21491 }
21492 @Override public int getRuleIndex() { return RULE_alterColumnOperation; }
21493 @Override
21494 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21495 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterColumnOperation(this);
21496 else return visitor.visitChildren(this);
21497 }
21498 }
21499
21500 public final AlterColumnOperationContext alterColumnOperation() throws RecognitionException {
21501 AlterColumnOperationContext _localctx = new AlterColumnOperationContext(_ctx, getState());
21502 enterRule(_localctx, 452, RULE_alterColumnOperation);
21503 try {
21504 enterOuterAlt(_localctx, 1);
21505 {
21506 setState(3160);
21507 match(ALTER);
21508 setState(3161);
21509 match(COLUMN);
21510 setState(3162);
21511 columnName();
21512 }
21513 }
21514 catch (RecognitionException re) {
21515 _localctx.exception = re;
21516 _errHandler.reportError(this, re);
21517 _errHandler.recover(this, re);
21518 }
21519 finally {
21520 exitRule();
21521 }
21522 return _localctx;
21523 }
21524
21525 public static class AlterColumnAddOptionsContext extends ParserRuleContext {
21526 public List<AlterColumnAddOptionContext> alterColumnAddOption() {
21527 return getRuleContexts(AlterColumnAddOptionContext.class);
21528 }
21529 public AlterColumnAddOptionContext alterColumnAddOption(int i) {
21530 return getRuleContext(AlterColumnAddOptionContext.class,i);
21531 }
21532 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
21533 public TerminalNode COMMA_(int i) {
21534 return getToken(SQLServerStatementParser.COMMA_, i);
21535 }
21536 public AlterColumnAddOptionsContext(ParserRuleContext parent, int invokingState) {
21537 super(parent, invokingState);
21538 }
21539 @Override public int getRuleIndex() { return RULE_alterColumnAddOptions; }
21540 @Override
21541 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21542 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterColumnAddOptions(this);
21543 else return visitor.visitChildren(this);
21544 }
21545 }
21546
21547 public final AlterColumnAddOptionsContext alterColumnAddOptions() throws RecognitionException {
21548 AlterColumnAddOptionsContext _localctx = new AlterColumnAddOptionsContext(_ctx, getState());
21549 enterRule(_localctx, 454, RULE_alterColumnAddOptions);
21550 try {
21551 int _alt;
21552 enterOuterAlt(_localctx, 1);
21553 {
21554 setState(3164);
21555 alterColumnAddOption();
21556 setState(3169);
21557 _errHandler.sync(this);
21558 _alt = getInterpreter().adaptivePredict(_input,280,_ctx);
21559 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
21560 if ( _alt==1 ) {
21561 {
21562 {
21563 setState(3165);
21564 match(COMMA_);
21565 setState(3166);
21566 alterColumnAddOption();
21567 }
21568 }
21569 }
21570 setState(3171);
21571 _errHandler.sync(this);
21572 _alt = getInterpreter().adaptivePredict(_input,280,_ctx);
21573 }
21574 }
21575 }
21576 catch (RecognitionException re) {
21577 _localctx.exception = re;
21578 _errHandler.reportError(this, re);
21579 _errHandler.recover(this, re);
21580 }
21581 finally {
21582 exitRule();
21583 }
21584 return _localctx;
21585 }
21586
21587 public static class AlterColumnAddOptionContext extends ParserRuleContext {
21588 public ColumnDefinitionContext columnDefinition() {
21589 return getRuleContext(ColumnDefinitionContext.class,0);
21590 }
21591 public ComputedColumnDefinitionContext computedColumnDefinition() {
21592 return getRuleContext(ComputedColumnDefinitionContext.class,0);
21593 }
21594 public ColumnSetDefinitionContext columnSetDefinition() {
21595 return getRuleContext(ColumnSetDefinitionContext.class,0);
21596 }
21597 public TableConstraintContext tableConstraint() {
21598 return getRuleContext(TableConstraintContext.class,0);
21599 }
21600 public AlterTableTableIndexContext alterTableTableIndex() {
21601 return getRuleContext(AlterTableTableIndexContext.class,0);
21602 }
21603 public ConstraintForColumnContext constraintForColumn() {
21604 return getRuleContext(ConstraintForColumnContext.class,0);
21605 }
21606 public AlterColumnAddOptionContext(ParserRuleContext parent, int invokingState) {
21607 super(parent, invokingState);
21608 }
21609 @Override public int getRuleIndex() { return RULE_alterColumnAddOption; }
21610 @Override
21611 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21612 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterColumnAddOption(this);
21613 else return visitor.visitChildren(this);
21614 }
21615 }
21616
21617 public final AlterColumnAddOptionContext alterColumnAddOption() throws RecognitionException {
21618 AlterColumnAddOptionContext _localctx = new AlterColumnAddOptionContext(_ctx, getState());
21619 enterRule(_localctx, 456, RULE_alterColumnAddOption);
21620 try {
21621 setState(3178);
21622 _errHandler.sync(this);
21623 switch ( getInterpreter().adaptivePredict(_input,281,_ctx) ) {
21624 case 1:
21625 enterOuterAlt(_localctx, 1);
21626 {
21627 setState(3172);
21628 columnDefinition();
21629 }
21630 break;
21631 case 2:
21632 enterOuterAlt(_localctx, 2);
21633 {
21634 setState(3173);
21635 computedColumnDefinition();
21636 }
21637 break;
21638 case 3:
21639 enterOuterAlt(_localctx, 3);
21640 {
21641 setState(3174);
21642 columnSetDefinition();
21643 }
21644 break;
21645 case 4:
21646 enterOuterAlt(_localctx, 4);
21647 {
21648 setState(3175);
21649 tableConstraint();
21650 }
21651 break;
21652 case 5:
21653 enterOuterAlt(_localctx, 5);
21654 {
21655 setState(3176);
21656 alterTableTableIndex();
21657 }
21658 break;
21659 case 6:
21660 enterOuterAlt(_localctx, 6);
21661 {
21662 setState(3177);
21663 constraintForColumn();
21664 }
21665 break;
21666 }
21667 }
21668 catch (RecognitionException re) {
21669 _localctx.exception = re;
21670 _errHandler.reportError(this, re);
21671 _errHandler.recover(this, re);
21672 }
21673 finally {
21674 exitRule();
21675 }
21676 return _localctx;
21677 }
21678
21679 public static class ConstraintForColumnContext extends ParserRuleContext {
21680 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
21681 public SimpleExprContext simpleExpr() {
21682 return getRuleContext(SimpleExprContext.class,0);
21683 }
21684 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
21685 public ColumnNameContext columnName() {
21686 return getRuleContext(ColumnNameContext.class,0);
21687 }
21688 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
21689 public ConstraintNameContext constraintName() {
21690 return getRuleContext(ConstraintNameContext.class,0);
21691 }
21692 public ConstraintForColumnContext(ParserRuleContext parent, int invokingState) {
21693 super(parent, invokingState);
21694 }
21695 @Override public int getRuleIndex() { return RULE_constraintForColumn; }
21696 @Override
21697 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21698 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConstraintForColumn(this);
21699 else return visitor.visitChildren(this);
21700 }
21701 }
21702
21703 public final ConstraintForColumnContext constraintForColumn() throws RecognitionException {
21704 ConstraintForColumnContext _localctx = new ConstraintForColumnContext(_ctx, getState());
21705 enterRule(_localctx, 458, RULE_constraintForColumn);
21706 int _la;
21707 try {
21708 enterOuterAlt(_localctx, 1);
21709 {
21710 setState(3182);
21711 _errHandler.sync(this);
21712 _la = _input.LA(1);
21713 if (_la==CONSTRAINT) {
21714 {
21715 setState(3180);
21716 match(CONSTRAINT);
21717 setState(3181);
21718 constraintName();
21719 }
21720 }
21721
21722 setState(3184);
21723 match(DEFAULT);
21724 setState(3185);
21725 simpleExpr(0);
21726 setState(3186);
21727 match(FOR);
21728 setState(3187);
21729 columnName();
21730 }
21731 }
21732 catch (RecognitionException re) {
21733 _localctx.exception = re;
21734 _errHandler.reportError(this, re);
21735 _errHandler.recover(this, re);
21736 }
21737 finally {
21738 exitRule();
21739 }
21740 return _localctx;
21741 }
21742
21743 public static class GeneratedColumnNamesClauseContext extends ParserRuleContext {
21744 public GeneratedColumnNameClauseContext generatedColumnNameClause() {
21745 return getRuleContext(GeneratedColumnNameClauseContext.class,0);
21746 }
21747 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
21748 public PeriodClauseContext periodClause() {
21749 return getRuleContext(PeriodClauseContext.class,0);
21750 }
21751 public GeneratedColumnNamesClauseContext(ParserRuleContext parent, int invokingState) {
21752 super(parent, invokingState);
21753 }
21754 @Override public int getRuleIndex() { return RULE_generatedColumnNamesClause; }
21755 @Override
21756 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21757 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGeneratedColumnNamesClause(this);
21758 else return visitor.visitChildren(this);
21759 }
21760 }
21761
21762 public final GeneratedColumnNamesClauseContext generatedColumnNamesClause() throws RecognitionException {
21763 GeneratedColumnNamesClauseContext _localctx = new GeneratedColumnNamesClauseContext(_ctx, getState());
21764 enterRule(_localctx, 460, RULE_generatedColumnNamesClause);
21765 try {
21766 setState(3197);
21767 _errHandler.sync(this);
21768 switch ( getInterpreter().adaptivePredict(_input,283,_ctx) ) {
21769 case 1:
21770 enterOuterAlt(_localctx, 1);
21771 {
21772 setState(3189);
21773 generatedColumnNameClause();
21774 setState(3190);
21775 match(COMMA_);
21776 setState(3191);
21777 periodClause();
21778 }
21779 break;
21780 case 2:
21781 enterOuterAlt(_localctx, 2);
21782 {
21783 setState(3193);
21784 periodClause();
21785 setState(3194);
21786 match(COMMA_);
21787 setState(3195);
21788 generatedColumnNameClause();
21789 }
21790 break;
21791 }
21792 }
21793 catch (RecognitionException re) {
21794 _localctx.exception = re;
21795 _errHandler.reportError(this, re);
21796 _errHandler.recover(this, re);
21797 }
21798 finally {
21799 exitRule();
21800 }
21801 return _localctx;
21802 }
21803
21804 public static class GeneratedColumnNameClauseContext extends ParserRuleContext {
21805 public List<GeneratedColumnNameContext> generatedColumnName() {
21806 return getRuleContexts(GeneratedColumnNameContext.class);
21807 }
21808 public GeneratedColumnNameContext generatedColumnName(int i) {
21809 return getRuleContext(GeneratedColumnNameContext.class,i);
21810 }
21811 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
21812 public SimpleExprContext simpleExpr() {
21813 return getRuleContext(SimpleExprContext.class,0);
21814 }
21815 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
21816 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
21817 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
21818 public GeneratedColumnNameClauseContext(ParserRuleContext parent, int invokingState) {
21819 super(parent, invokingState);
21820 }
21821 @Override public int getRuleIndex() { return RULE_generatedColumnNameClause; }
21822 @Override
21823 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21824 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGeneratedColumnNameClause(this);
21825 else return visitor.visitChildren(this);
21826 }
21827 }
21828
21829 public final GeneratedColumnNameClauseContext generatedColumnNameClause() throws RecognitionException {
21830 GeneratedColumnNameClauseContext _localctx = new GeneratedColumnNameClauseContext(_ctx, getState());
21831 enterRule(_localctx, 462, RULE_generatedColumnNameClause);
21832 int _la;
21833 try {
21834 enterOuterAlt(_localctx, 1);
21835 {
21836 setState(3199);
21837 generatedColumnName();
21838 setState(3200);
21839 match(DEFAULT);
21840 setState(3201);
21841 simpleExpr(0);
21842 setState(3204);
21843 _errHandler.sync(this);
21844 _la = _input.LA(1);
21845 if (_la==WITH) {
21846 {
21847 setState(3202);
21848 match(WITH);
21849 setState(3203);
21850 match(VALUES);
21851 }
21852 }
21853
21854 setState(3206);
21855 match(COMMA_);
21856 setState(3207);
21857 generatedColumnName();
21858 }
21859 }
21860 catch (RecognitionException re) {
21861 _localctx.exception = re;
21862 _errHandler.reportError(this, re);
21863 _errHandler.recover(this, re);
21864 }
21865 finally {
21866 exitRule();
21867 }
21868 return _localctx;
21869 }
21870
21871 public static class GeneratedColumnNameContext extends ParserRuleContext {
21872 public ColumnNameContext columnName() {
21873 return getRuleContext(ColumnNameContext.class,0);
21874 }
21875 public DataTypeNameContext dataTypeName() {
21876 return getRuleContext(DataTypeNameContext.class,0);
21877 }
21878 public TerminalNode GENERATED() { return getToken(SQLServerStatementParser.GENERATED, 0); }
21879 public TerminalNode ALWAYS() { return getToken(SQLServerStatementParser.ALWAYS, 0); }
21880 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
21881 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
21882 public TerminalNode HIDDEN_() { return getToken(SQLServerStatementParser.HIDDEN_, 0); }
21883 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
21884 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
21885 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
21886 public IgnoredIdentifierContext ignoredIdentifier() {
21887 return getRuleContext(IgnoredIdentifierContext.class,0);
21888 }
21889 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
21890 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
21891 public GeneratedColumnNameContext(ParserRuleContext parent, int invokingState) {
21892 super(parent, invokingState);
21893 }
21894 @Override public int getRuleIndex() { return RULE_generatedColumnName; }
21895 @Override
21896 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21897 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGeneratedColumnName(this);
21898 else return visitor.visitChildren(this);
21899 }
21900 }
21901
21902 public final GeneratedColumnNameContext generatedColumnName() throws RecognitionException {
21903 GeneratedColumnNameContext _localctx = new GeneratedColumnNameContext(_ctx, getState());
21904 enterRule(_localctx, 464, RULE_generatedColumnName);
21905 int _la;
21906 try {
21907 enterOuterAlt(_localctx, 1);
21908 {
21909 setState(3209);
21910 columnName();
21911 setState(3210);
21912 dataTypeName();
21913 setState(3211);
21914 match(GENERATED);
21915 setState(3212);
21916 match(ALWAYS);
21917 setState(3213);
21918 match(AS);
21919 setState(3214);
21920 match(ROW);
21921 setState(3216);
21922 _errHandler.sync(this);
21923 switch ( getInterpreter().adaptivePredict(_input,285,_ctx) ) {
21924 case 1:
21925 {
21926 setState(3215);
21927 _la = _input.LA(1);
21928 if ( !(_la==START || _la==END) ) {
21929 _errHandler.recoverInline(this);
21930 }
21931 else {
21932 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21933 _errHandler.reportMatch(this);
21934 consume();
21935 }
21936 }
21937 break;
21938 }
21939 setState(3219);
21940 _errHandler.sync(this);
21941 _la = _input.LA(1);
21942 if (_la==HIDDEN_) {
21943 {
21944 setState(3218);
21945 match(HIDDEN_);
21946 }
21947 }
21948
21949 setState(3223);
21950 _errHandler.sync(this);
21951 _la = _input.LA(1);
21952 if (_la==NOT) {
21953 {
21954 setState(3221);
21955 match(NOT);
21956 setState(3222);
21957 match(NULL);
21958 }
21959 }
21960
21961 setState(3227);
21962 _errHandler.sync(this);
21963 _la = _input.LA(1);
21964 if (_la==CONSTRAINT) {
21965 {
21966 setState(3225);
21967 match(CONSTRAINT);
21968 setState(3226);
21969 ignoredIdentifier();
21970 }
21971 }
21972
21973 }
21974 }
21975 catch (RecognitionException re) {
21976 _localctx.exception = re;
21977 _errHandler.reportError(this, re);
21978 _errHandler.recover(this, re);
21979 }
21980 finally {
21981 exitRule();
21982 }
21983 return _localctx;
21984 }
21985
21986 public static class AlterDropContext extends ParserRuleContext {
21987 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
21988 public AlterTableDropConstraintContext alterTableDropConstraint() {
21989 return getRuleContext(AlterTableDropConstraintContext.class,0);
21990 }
21991 public DropColumnSpecificationContext dropColumnSpecification() {
21992 return getRuleContext(DropColumnSpecificationContext.class,0);
21993 }
21994 public DropIndexSpecificationContext dropIndexSpecification() {
21995 return getRuleContext(DropIndexSpecificationContext.class,0);
21996 }
21997 public TerminalNode PERIOD() { return getToken(SQLServerStatementParser.PERIOD, 0); }
21998 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
21999 public TerminalNode SYSTEM_TIME() { return getToken(SQLServerStatementParser.SYSTEM_TIME, 0); }
22000 public AlterDropContext(ParserRuleContext parent, int invokingState) {
22001 super(parent, invokingState);
22002 }
22003 @Override public int getRuleIndex() { return RULE_alterDrop; }
22004 @Override
22005 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22006 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDrop(this);
22007 else return visitor.visitChildren(this);
22008 }
22009 }
22010
22011 public final AlterDropContext alterDrop() throws RecognitionException {
22012 AlterDropContext _localctx = new AlterDropContext(_ctx, getState());
22013 enterRule(_localctx, 466, RULE_alterDrop);
22014 try {
22015 enterOuterAlt(_localctx, 1);
22016 {
22017 setState(3229);
22018 match(DROP);
22019 setState(3236);
22020 _errHandler.sync(this);
22021 switch ( getInterpreter().adaptivePredict(_input,289,_ctx) ) {
22022 case 1:
22023 {
22024 setState(3230);
22025 alterTableDropConstraint();
22026 }
22027 break;
22028 case 2:
22029 {
22030 setState(3231);
22031 dropColumnSpecification();
22032 }
22033 break;
22034 case 3:
22035 {
22036 setState(3232);
22037 dropIndexSpecification();
22038 }
22039 break;
22040 case 4:
22041 {
22042 setState(3233);
22043 match(PERIOD);
22044 setState(3234);
22045 match(FOR);
22046 setState(3235);
22047 match(SYSTEM_TIME);
22048 }
22049 break;
22050 }
22051 }
22052 }
22053 catch (RecognitionException re) {
22054 _localctx.exception = re;
22055 _errHandler.reportError(this, re);
22056 _errHandler.recover(this, re);
22057 }
22058 finally {
22059 exitRule();
22060 }
22061 return _localctx;
22062 }
22063
22064 public static class AlterTableDropConstraintContext extends ParserRuleContext {
22065 public List<DropConstraintNameContext> dropConstraintName() {
22066 return getRuleContexts(DropConstraintNameContext.class);
22067 }
22068 public DropConstraintNameContext dropConstraintName(int i) {
22069 return getRuleContext(DropConstraintNameContext.class,i);
22070 }
22071 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
22072 public IfExistsContext ifExists() {
22073 return getRuleContext(IfExistsContext.class,0);
22074 }
22075 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
22076 public TerminalNode COMMA_(int i) {
22077 return getToken(SQLServerStatementParser.COMMA_, i);
22078 }
22079 public AlterTableDropConstraintContext(ParserRuleContext parent, int invokingState) {
22080 super(parent, invokingState);
22081 }
22082 @Override public int getRuleIndex() { return RULE_alterTableDropConstraint; }
22083 @Override
22084 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22085 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableDropConstraint(this);
22086 else return visitor.visitChildren(this);
22087 }
22088 }
22089
22090 public final AlterTableDropConstraintContext alterTableDropConstraint() throws RecognitionException {
22091 AlterTableDropConstraintContext _localctx = new AlterTableDropConstraintContext(_ctx, getState());
22092 enterRule(_localctx, 468, RULE_alterTableDropConstraint);
22093 int _la;
22094 try {
22095 int _alt;
22096 enterOuterAlt(_localctx, 1);
22097 {
22098 setState(3239);
22099 _errHandler.sync(this);
22100 _la = _input.LA(1);
22101 if (_la==CONSTRAINT) {
22102 {
22103 setState(3238);
22104 match(CONSTRAINT);
22105 }
22106 }
22107
22108 setState(3242);
22109 _errHandler.sync(this);
22110 _la = _input.LA(1);
22111 if (_la==IF) {
22112 {
22113 setState(3241);
22114 ifExists();
22115 }
22116 }
22117
22118 setState(3244);
22119 dropConstraintName();
22120 setState(3249);
22121 _errHandler.sync(this);
22122 _alt = getInterpreter().adaptivePredict(_input,292,_ctx);
22123 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
22124 if ( _alt==1 ) {
22125 {
22126 {
22127 setState(3245);
22128 match(COMMA_);
22129 setState(3246);
22130 dropConstraintName();
22131 }
22132 }
22133 }
22134 setState(3251);
22135 _errHandler.sync(this);
22136 _alt = getInterpreter().adaptivePredict(_input,292,_ctx);
22137 }
22138 }
22139 }
22140 catch (RecognitionException re) {
22141 _localctx.exception = re;
22142 _errHandler.reportError(this, re);
22143 _errHandler.recover(this, re);
22144 }
22145 finally {
22146 exitRule();
22147 }
22148 return _localctx;
22149 }
22150
22151 public static class DropConstraintNameContext extends ParserRuleContext {
22152 public ConstraintNameContext constraintName() {
22153 return getRuleContext(ConstraintNameContext.class,0);
22154 }
22155 public DropConstraintWithClauseContext dropConstraintWithClause() {
22156 return getRuleContext(DropConstraintWithClauseContext.class,0);
22157 }
22158 public DropConstraintNameContext(ParserRuleContext parent, int invokingState) {
22159 super(parent, invokingState);
22160 }
22161 @Override public int getRuleIndex() { return RULE_dropConstraintName; }
22162 @Override
22163 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22164 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropConstraintName(this);
22165 else return visitor.visitChildren(this);
22166 }
22167 }
22168
22169 public final DropConstraintNameContext dropConstraintName() throws RecognitionException {
22170 DropConstraintNameContext _localctx = new DropConstraintNameContext(_ctx, getState());
22171 enterRule(_localctx, 470, RULE_dropConstraintName);
22172 try {
22173 enterOuterAlt(_localctx, 1);
22174 {
22175 setState(3252);
22176 constraintName();
22177 setState(3254);
22178 _errHandler.sync(this);
22179 switch ( getInterpreter().adaptivePredict(_input,293,_ctx) ) {
22180 case 1:
22181 {
22182 setState(3253);
22183 dropConstraintWithClause();
22184 }
22185 break;
22186 }
22187 }
22188 }
22189 catch (RecognitionException re) {
22190 _localctx.exception = re;
22191 _errHandler.reportError(this, re);
22192 _errHandler.recover(this, re);
22193 }
22194 finally {
22195 exitRule();
22196 }
22197 return _localctx;
22198 }
22199
22200 public static class DropConstraintWithClauseContext extends ParserRuleContext {
22201 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
22202 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
22203 public List<DropConstraintOptionContext> dropConstraintOption() {
22204 return getRuleContexts(DropConstraintOptionContext.class);
22205 }
22206 public DropConstraintOptionContext dropConstraintOption(int i) {
22207 return getRuleContext(DropConstraintOptionContext.class,i);
22208 }
22209 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
22210 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
22211 public TerminalNode COMMA_(int i) {
22212 return getToken(SQLServerStatementParser.COMMA_, i);
22213 }
22214 public DropConstraintWithClauseContext(ParserRuleContext parent, int invokingState) {
22215 super(parent, invokingState);
22216 }
22217 @Override public int getRuleIndex() { return RULE_dropConstraintWithClause; }
22218 @Override
22219 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22220 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropConstraintWithClause(this);
22221 else return visitor.visitChildren(this);
22222 }
22223 }
22224
22225 public final DropConstraintWithClauseContext dropConstraintWithClause() throws RecognitionException {
22226 DropConstraintWithClauseContext _localctx = new DropConstraintWithClauseContext(_ctx, getState());
22227 enterRule(_localctx, 472, RULE_dropConstraintWithClause);
22228 int _la;
22229 try {
22230 enterOuterAlt(_localctx, 1);
22231 {
22232 setState(3256);
22233 match(WITH);
22234 setState(3257);
22235 match(LP_);
22236 setState(3258);
22237 dropConstraintOption();
22238 setState(3263);
22239 _errHandler.sync(this);
22240 _la = _input.LA(1);
22241 while (_la==COMMA_) {
22242 {
22243 {
22244 setState(3259);
22245 match(COMMA_);
22246 setState(3260);
22247 dropConstraintOption();
22248 }
22249 }
22250 setState(3265);
22251 _errHandler.sync(this);
22252 _la = _input.LA(1);
22253 }
22254 setState(3266);
22255 match(RP_);
22256 }
22257 }
22258 catch (RecognitionException re) {
22259 _localctx.exception = re;
22260 _errHandler.reportError(this, re);
22261 _errHandler.recover(this, re);
22262 }
22263 finally {
22264 exitRule();
22265 }
22266 return _localctx;
22267 }
22268
22269 public static class DropConstraintOptionContext extends ParserRuleContext {
22270 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
22271 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
22272 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
22273 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
22274 public OnOffOptionContext onOffOption() {
22275 return getRuleContext(OnOffOptionContext.class,0);
22276 }
22277 public TerminalNode MOVE() { return getToken(SQLServerStatementParser.MOVE, 0); }
22278 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
22279 public SchemaNameContext schemaName() {
22280 return getRuleContext(SchemaNameContext.class,0);
22281 }
22282 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
22283 public ColumnNameContext columnName() {
22284 return getRuleContext(ColumnNameContext.class,0);
22285 }
22286 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
22287 public IgnoredIdentifierContext ignoredIdentifier() {
22288 return getRuleContext(IgnoredIdentifierContext.class,0);
22289 }
22290 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
22291 public DropConstraintOptionContext(ParserRuleContext parent, int invokingState) {
22292 super(parent, invokingState);
22293 }
22294 @Override public int getRuleIndex() { return RULE_dropConstraintOption; }
22295 @Override
22296 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22297 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropConstraintOption(this);
22298 else return visitor.visitChildren(this);
22299 }
22300 }
22301
22302 public final DropConstraintOptionContext dropConstraintOption() throws RecognitionException {
22303 DropConstraintOptionContext _localctx = new DropConstraintOptionContext(_ctx, getState());
22304 enterRule(_localctx, 474, RULE_dropConstraintOption);
22305 try {
22306 enterOuterAlt(_localctx, 1);
22307 {
22308 setState(3285);
22309 _errHandler.sync(this);
22310 switch (_input.LA(1)) {
22311 case MAXDOP:
22312 {
22313 setState(3268);
22314 match(MAXDOP);
22315 setState(3269);
22316 match(EQ_);
22317 setState(3270);
22318 match(NUMBER_);
22319 }
22320 break;
22321 case ONLINE:
22322 {
22323 setState(3271);
22324 match(ONLINE);
22325 setState(3272);
22326 match(EQ_);
22327 setState(3273);
22328 onOffOption();
22329 }
22330 break;
22331 case MOVE:
22332 {
22333 setState(3274);
22334 match(MOVE);
22335 setState(3275);
22336 match(TO);
22337 setState(3283);
22338 _errHandler.sync(this);
22339 switch ( getInterpreter().adaptivePredict(_input,295,_ctx) ) {
22340 case 1:
22341 {
22342 setState(3276);
22343 schemaName();
22344 setState(3277);
22345 match(LP_);
22346 setState(3278);
22347 columnName();
22348 setState(3279);
22349 match(RP_);
22350 }
22351 break;
22352 case 2:
22353 {
22354 setState(3281);
22355 ignoredIdentifier();
22356 }
22357 break;
22358 case 3:
22359 {
22360 setState(3282);
22361 match(STRING_);
22362 }
22363 break;
22364 }
22365 }
22366 break;
22367 default:
22368 throw new NoViableAltException(this);
22369 }
22370 }
22371 }
22372 catch (RecognitionException re) {
22373 _localctx.exception = re;
22374 _errHandler.reportError(this, re);
22375 _errHandler.recover(this, re);
22376 }
22377 finally {
22378 exitRule();
22379 }
22380 return _localctx;
22381 }
22382
22383 public static class OnOffOptionContext extends ParserRuleContext {
22384 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
22385 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
22386 public OnOffOptionContext(ParserRuleContext parent, int invokingState) {
22387 super(parent, invokingState);
22388 }
22389 @Override public int getRuleIndex() { return RULE_onOffOption; }
22390 @Override
22391 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22392 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnOffOption(this);
22393 else return visitor.visitChildren(this);
22394 }
22395 }
22396
22397 public final OnOffOptionContext onOffOption() throws RecognitionException {
22398 OnOffOptionContext _localctx = new OnOffOptionContext(_ctx, getState());
22399 enterRule(_localctx, 476, RULE_onOffOption);
22400 int _la;
22401 try {
22402 enterOuterAlt(_localctx, 1);
22403 {
22404 setState(3287);
22405 _la = _input.LA(1);
22406 if ( !(_la==ON || _la==OFF) ) {
22407 _errHandler.recoverInline(this);
22408 }
22409 else {
22410 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22411 _errHandler.reportMatch(this);
22412 consume();
22413 }
22414 }
22415 }
22416 catch (RecognitionException re) {
22417 _localctx.exception = re;
22418 _errHandler.reportError(this, re);
22419 _errHandler.recover(this, re);
22420 }
22421 finally {
22422 exitRule();
22423 }
22424 return _localctx;
22425 }
22426
22427 public static class DropColumnSpecificationContext extends ParserRuleContext {
22428 public TerminalNode COLUMN() { return getToken(SQLServerStatementParser.COLUMN, 0); }
22429 public List<ColumnNameContext> columnName() {
22430 return getRuleContexts(ColumnNameContext.class);
22431 }
22432 public ColumnNameContext columnName(int i) {
22433 return getRuleContext(ColumnNameContext.class,i);
22434 }
22435 public IfExistsContext ifExists() {
22436 return getRuleContext(IfExistsContext.class,0);
22437 }
22438 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
22439 public TerminalNode COMMA_(int i) {
22440 return getToken(SQLServerStatementParser.COMMA_, i);
22441 }
22442 public DropColumnSpecificationContext(ParserRuleContext parent, int invokingState) {
22443 super(parent, invokingState);
22444 }
22445 @Override public int getRuleIndex() { return RULE_dropColumnSpecification; }
22446 @Override
22447 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22448 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropColumnSpecification(this);
22449 else return visitor.visitChildren(this);
22450 }
22451 }
22452
22453 public final DropColumnSpecificationContext dropColumnSpecification() throws RecognitionException {
22454 DropColumnSpecificationContext _localctx = new DropColumnSpecificationContext(_ctx, getState());
22455 enterRule(_localctx, 478, RULE_dropColumnSpecification);
22456 int _la;
22457 try {
22458 int _alt;
22459 enterOuterAlt(_localctx, 1);
22460 {
22461 setState(3289);
22462 match(COLUMN);
22463 setState(3291);
22464 _errHandler.sync(this);
22465 _la = _input.LA(1);
22466 if (_la==IF) {
22467 {
22468 setState(3290);
22469 ifExists();
22470 }
22471 }
22472
22473 setState(3293);
22474 columnName();
22475 setState(3298);
22476 _errHandler.sync(this);
22477 _alt = getInterpreter().adaptivePredict(_input,298,_ctx);
22478 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
22479 if ( _alt==1 ) {
22480 {
22481 {
22482 setState(3294);
22483 match(COMMA_);
22484 setState(3295);
22485 columnName();
22486 }
22487 }
22488 }
22489 setState(3300);
22490 _errHandler.sync(this);
22491 _alt = getInterpreter().adaptivePredict(_input,298,_ctx);
22492 }
22493 }
22494 }
22495 catch (RecognitionException re) {
22496 _localctx.exception = re;
22497 _errHandler.reportError(this, re);
22498 _errHandler.recover(this, re);
22499 }
22500 finally {
22501 exitRule();
22502 }
22503 return _localctx;
22504 }
22505
22506 public static class DropIndexSpecificationContext extends ParserRuleContext {
22507 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
22508 public List<IndexNameContext> indexName() {
22509 return getRuleContexts(IndexNameContext.class);
22510 }
22511 public IndexNameContext indexName(int i) {
22512 return getRuleContext(IndexNameContext.class,i);
22513 }
22514 public IfExistsContext ifExists() {
22515 return getRuleContext(IfExistsContext.class,0);
22516 }
22517 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
22518 public TerminalNode COMMA_(int i) {
22519 return getToken(SQLServerStatementParser.COMMA_, i);
22520 }
22521 public DropIndexSpecificationContext(ParserRuleContext parent, int invokingState) {
22522 super(parent, invokingState);
22523 }
22524 @Override public int getRuleIndex() { return RULE_dropIndexSpecification; }
22525 @Override
22526 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22527 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropIndexSpecification(this);
22528 else return visitor.visitChildren(this);
22529 }
22530 }
22531
22532 public final DropIndexSpecificationContext dropIndexSpecification() throws RecognitionException {
22533 DropIndexSpecificationContext _localctx = new DropIndexSpecificationContext(_ctx, getState());
22534 enterRule(_localctx, 480, RULE_dropIndexSpecification);
22535 int _la;
22536 try {
22537 int _alt;
22538 enterOuterAlt(_localctx, 1);
22539 {
22540 setState(3301);
22541 match(INDEX);
22542 setState(3303);
22543 _errHandler.sync(this);
22544 _la = _input.LA(1);
22545 if (_la==IF) {
22546 {
22547 setState(3302);
22548 ifExists();
22549 }
22550 }
22551
22552 setState(3305);
22553 indexName();
22554 setState(3310);
22555 _errHandler.sync(this);
22556 _alt = getInterpreter().adaptivePredict(_input,300,_ctx);
22557 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
22558 if ( _alt==1 ) {
22559 {
22560 {
22561 setState(3306);
22562 match(COMMA_);
22563 setState(3307);
22564 indexName();
22565 }
22566 }
22567 }
22568 setState(3312);
22569 _errHandler.sync(this);
22570 _alt = getInterpreter().adaptivePredict(_input,300,_ctx);
22571 }
22572 }
22573 }
22574 catch (RecognitionException re) {
22575 _localctx.exception = re;
22576 _errHandler.reportError(this, re);
22577 _errHandler.recover(this, re);
22578 }
22579 finally {
22580 exitRule();
22581 }
22582 return _localctx;
22583 }
22584
22585 public static class AlterCheckConstraintContext extends ParserRuleContext {
22586 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
22587 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
22588 public TerminalNode NOCHECK() { return getToken(SQLServerStatementParser.NOCHECK, 0); }
22589 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
22590 public ConstraintNameContext constraintName() {
22591 return getRuleContext(ConstraintNameContext.class,0);
22592 }
22593 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
22594 public AlterCheckConstraintContext(ParserRuleContext parent, int invokingState) {
22595 super(parent, invokingState);
22596 }
22597 @Override public int getRuleIndex() { return RULE_alterCheckConstraint; }
22598 @Override
22599 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22600 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterCheckConstraint(this);
22601 else return visitor.visitChildren(this);
22602 }
22603 }
22604
22605 public final AlterCheckConstraintContext alterCheckConstraint() throws RecognitionException {
22606 AlterCheckConstraintContext _localctx = new AlterCheckConstraintContext(_ctx, getState());
22607 enterRule(_localctx, 482, RULE_alterCheckConstraint);
22608 int _la;
22609 try {
22610 enterOuterAlt(_localctx, 1);
22611 {
22612 setState(3314);
22613 _errHandler.sync(this);
22614 _la = _input.LA(1);
22615 if (_la==WITH) {
22616 {
22617 setState(3313);
22618 match(WITH);
22619 }
22620 }
22621
22622 setState(3316);
22623 _la = _input.LA(1);
22624 if ( !(_la==CHECK || _la==NOCHECK) ) {
22625 _errHandler.recoverInline(this);
22626 }
22627 else {
22628 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22629 _errHandler.reportMatch(this);
22630 consume();
22631 }
22632 setState(3317);
22633 match(CONSTRAINT);
22634 setState(3320);
22635 _errHandler.sync(this);
22636 switch (_input.LA(1)) {
22637 case ALL:
22638 {
22639 setState(3318);
22640 match(ALL);
22641 }
22642 break;
22643 case TRUNCATE:
22644 case SCHEMA:
22645 case COLUMNS:
22646 case PRECISION:
22647 case FUNCTION:
22648 case TRIGGER:
22649 case CAST:
22650 case TRIM:
22651 case SUBSTRING:
22652 case OFF:
22653 case GROUP:
22654 case LIMIT:
22655 case OFFSET:
22656 case SAVEPOINT:
22657 case BOOLEAN:
22658 case ARRAY:
22659 case DATE:
22660 case TIMESTAMP:
22661 case LOCALTIME:
22662 case LOCALTIMESTAMP:
22663 case YEAR:
22664 case QUARTER:
22665 case MONTH:
22666 case WEEK:
22667 case DAY:
22668 case SECOND:
22669 case MICROSECOND:
22670 case MAX:
22671 case MIN:
22672 case SUM:
22673 case COUNT:
22674 case AVG:
22675 case ENABLE:
22676 case DISABLE:
22677 case INSTANCE:
22678 case DO:
22679 case DEFINER:
22680 case SQL:
22681 case CASCADED:
22682 case LOCAL:
22683 case NEXT:
22684 case NAME:
22685 case INTEGER:
22686 case TYPE:
22687 case TEXT:
22688 case VIEWS:
22689 case READ_ONLY:
22690 case DATABASE:
22691 case RETURNS:
22692 case DATEPART:
22693 case PASSWORD:
22694 case BINARY:
22695 case HIDDEN_:
22696 case MOD:
22697 case PARTITION:
22698 case PARTITIONS:
22699 case TOP:
22700 case ROW:
22701 case ROWS:
22702 case XOR:
22703 case ALWAYS:
22704 case ROLE:
22705 case START:
22706 case ALGORITHM:
22707 case AUTO:
22708 case BLOCKERS:
22709 case CLUSTERED:
22710 case NONCLUSTERED:
22711 case COLUMNSTORE:
22712 case CONTENT:
22713 case YEARS:
22714 case MONTHS:
22715 case WEEKS:
22716 case DAYS:
22717 case MINUTES:
22718 case DENY:
22719 case DETERMINISTIC:
22720 case DISTRIBUTION:
22721 case DOCUMENT:
22722 case DURABILITY:
22723 case ENCRYPTED:
22724 case FILESTREAM:
22725 case FILETABLE:
22726 case FILLFACTOR:
22727 case FOLLOWING:
22728 case HASH:
22729 case HEAP:
22730 case INBOUND:
22731 case OUTBOUND:
22732 case UNBOUNDED:
22733 case INFINITE:
22734 case LOGIN:
22735 case MASKED:
22736 case MAXDOP:
22737 case MOVE:
22738 case NOCHECK:
22739 case OBJECT:
22740 case ONLINE:
22741 case OVER:
22742 case PAGE:
22743 case PAUSED:
22744 case PERIOD:
22745 case PERSISTED:
22746 case PRECEDING:
22747 case RANDOMIZED:
22748 case RANGE:
22749 case REBUILD:
22750 case REPLICATE:
22751 case REPLICATION:
22752 case RESUMABLE:
22753 case ROWGUIDCOL:
22754 case SAVE:
22755 case SELF:
22756 case SPARSE:
22757 case SWITCH:
22758 case TRAN:
22759 case TRANCOUNT:
22760 case CONTROL:
22761 case CONCAT:
22762 case TAKE:
22763 case OWNERSHIP:
22764 case DEFINITION:
22765 case APPLICATION:
22766 case ASSEMBLY:
22767 case SYMMETRIC:
22768 case ASYMMETRIC:
22769 case SERVER:
22770 case RECEIVE:
22771 case CHANGE:
22772 case TRACE:
22773 case TRACKING:
22774 case RESOURCES:
22775 case SETTINGS:
22776 case STATE:
22777 case AVAILABILITY:
22778 case CREDENTIAL:
22779 case ENDPOINT:
22780 case EVENT:
22781 case NOTIFICATION:
22782 case LINKED:
22783 case AUDIT:
22784 case DDL:
22785 case XML:
22786 case IMPERSONATE:
22787 case SECURABLES:
22788 case AUTHENTICATE:
22789 case EXTERNAL:
22790 case ACCESS:
22791 case ADMINISTER:
22792 case BULK:
22793 case OPERATIONS:
22794 case UNSAFE:
22795 case SHUTDOWN:
22796 case SCOPED:
22797 case CONFIGURATION:
22798 case DATASPACE:
22799 case SERVICE:
22800 case CERTIFICATE:
22801 case CONTRACT:
22802 case ENCRYPTION:
22803 case MASTER:
22804 case DATA:
22805 case SOURCE:
22806 case FILE:
22807 case FORMAT:
22808 case LIBRARY:
22809 case FULLTEXT:
22810 case MASK:
22811 case UNMASK:
22812 case MESSAGE:
22813 case REMOTE:
22814 case BINDING:
22815 case ROUTE:
22816 case SECURITY:
22817 case POLICY:
22818 case AGGREGATE:
22819 case QUEUE:
22820 case RULE:
22821 case SYNONYM:
22822 case COLLECTION:
22823 case SCRIPT:
22824 case KILL:
22825 case BACKUP:
22826 case LOG:
22827 case SHOWPLAN:
22828 case SUBSCRIBE:
22829 case QUERY:
22830 case NOTIFICATIONS:
22831 case CHECKPOINT:
22832 case SEQUENCE:
22833 case ABORT_AFTER_WAIT:
22834 case ALLOW_PAGE_LOCKS:
22835 case ALLOW_ROW_LOCKS:
22836 case ALL_SPARSE_COLUMNS:
22837 case BUCKET_COUNT:
22838 case COLUMNSTORE_ARCHIVE:
22839 case COLUMN_ENCRYPTION_KEY:
22840 case COLUMN_SET:
22841 case COMPRESSION_DELAY:
22842 case DATABASE_DEAULT:
22843 case DATA_COMPRESSION:
22844 case DATA_CONSISTENCY_CHECK:
22845 case ENCRYPTION_TYPE:
22846 case SYSTEM_TIME:
22847 case SYSTEM_VERSIONING:
22848 case TEXTIMAGE_ON:
22849 case WAIT_AT_LOW_PRIORITY:
22850 case STATISTICS_INCREMENTAL:
22851 case STATISTICS_NORECOMPUTE:
22852 case ROUND_ROBIN:
22853 case SCHEMA_AND_DATA:
22854 case SCHEMA_ONLY:
22855 case SORT_IN_TEMPDB:
22856 case IGNORE_DUP_KEY:
22857 case IMPLICIT_TRANSACTIONS:
22858 case MAX_DURATION:
22859 case MEMORY_OPTIMIZED:
22860 case MIGRATION_STATE:
22861 case PAD_INDEX:
22862 case REMOTE_DATA_ARCHIVE:
22863 case FILESTREAM_ON:
22864 case FILETABLE_COLLATE_FILENAME:
22865 case FILETABLE_DIRECTORY:
22866 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
22867 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
22868 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
22869 case FILTER_PREDICATE:
22870 case HISTORY_RETENTION_PERIOD:
22871 case HISTORY_TABLE:
22872 case LOCK_ESCALATION:
22873 case DROP_EXISTING:
22874 case ROW_NUMBER:
22875 case FIRST:
22876 case DATETIME2:
22877 case OUTPUT:
22878 case INSERTED:
22879 case DELETED:
22880 case FILENAME:
22881 case SIZE:
22882 case MAXSIZE:
22883 case FILEGROWTH:
22884 case UNLIMITED:
22885 case KB:
22886 case MB:
22887 case GB:
22888 case TB:
22889 case CONTAINS:
22890 case MEMORY_OPTIMIZED_DATA:
22891 case FILEGROUP:
22892 case NON_TRANSACTED_ACCESS:
22893 case DB_CHAINING:
22894 case TRUSTWORTHY:
22895 case FORWARD_ONLY:
22896 case KEYSET:
22897 case FAST_FORWARD:
22898 case SCROLL_LOCKS:
22899 case OPTIMISTIC:
22900 case TYPE_WARNING:
22901 case SCHEMABINDING:
22902 case CALLER:
22903 case INPUT:
22904 case OWNER:
22905 case SNAPSHOT:
22906 case REPEATABLE:
22907 case SERIALIZABLE:
22908 case NATIVE_COMPILATION:
22909 case VIEW_METADATA:
22910 case INSTEAD:
22911 case APPEND:
22912 case INCREMENT:
22913 case CACHE:
22914 case MINVALUE:
22915 case MAXVALUE:
22916 case RESTART:
22917 case LOB_COMPACTION:
22918 case COMPRESS_ALL_ROW_GROUPS:
22919 case REORGANIZE:
22920 case RESUME:
22921 case PAUSE:
22922 case ABORT:
22923 case ACCELERATED_DATABASE_RECOVERY:
22924 case PERSISTENT_VERSION_STORE_FILEGROUP:
22925 case IMMEDIATE:
22926 case NO_WAIT:
22927 case TARGET_RECOVERY_TIME:
22928 case SECONDS:
22929 case HONOR_BROKER_PRIORITY:
22930 case ERROR_BROKER_CONVERSATIONS:
22931 case NEW_BROKER:
22932 case DISABLE_BROKER:
22933 case ENABLE_BROKER:
22934 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
22935 case READ_COMMITTED_SNAPSHOT:
22936 case ALLOW_SNAPSHOT_ISOLATION:
22937 case RECURSIVE_TRIGGERS:
22938 case QUOTED_IDENTIFIER:
22939 case NUMERIC_ROUNDABORT:
22940 case CONCAT_NULL_YIELDS_NULL:
22941 case COMPATIBILITY_LEVEL:
22942 case ARITHABORT:
22943 case ANSI_WARNINGS:
22944 case ANSI_PADDING:
22945 case ANSI_NULLS:
22946 case ANSI_NULL_DEFAULT:
22947 case PAGE_VERIFY:
22948 case CHECKSUM:
22949 case TORN_PAGE_DETECTION:
22950 case BULK_LOGGED:
22951 case RECOVERY:
22952 case TOTAL_EXECUTION_CPU_TIME_MS:
22953 case TOTAL_COMPILE_CPU_TIME_MS:
22954 case STALE_CAPTURE_POLICY_THRESHOLD:
22955 case EXECUTION_COUNT:
22956 case QUERY_CAPTURE_POLICY:
22957 case WAIT_STATS_CAPTURE_MODE:
22958 case MAX_PLANS_PER_QUERY:
22959 case QUERY_CAPTURE_MODE:
22960 case SIZE_BASED_CLEANUP_MODE:
22961 case INTERVAL_LENGTH_MINUTES:
22962 case MAX_STORAGE_SIZE_MB:
22963 case DATA_FLUSH_INTERVAL_SECONDS:
22964 case CLEANUP_POLICY:
22965 case CUSTOM:
22966 case STALE_QUERY_THRESHOLD_DAYS:
22967 case OPERATION_MODE:
22968 case QUERY_STORE:
22969 case CURSOR_DEFAULT:
22970 case GLOBAL:
22971 case CURSOR_CLOSE_ON_COMMIT:
22972 case HOURS:
22973 case CHANGE_RETENTION:
22974 case AUTO_CLEANUP:
22975 case CHANGE_TRACKING:
22976 case AUTOMATIC_TUNING:
22977 case FORCE_LAST_GOOD_PLAN:
22978 case AUTO_UPDATE_STATISTICS_ASYNC:
22979 case AUTO_UPDATE_STATISTICS:
22980 case AUTO_SHRINK:
22981 case AUTO_CREATE_STATISTICS:
22982 case INCREMENTAL:
22983 case AUTO_CLOSE:
22984 case DATA_RETENTION:
22985 case TEMPORAL_HISTORY_RETENTION:
22986 case EDITION:
22987 case MIXED_PAGE_ALLOCATION:
22988 case DISABLED:
22989 case ALLOWED:
22990 case HADR:
22991 case MULTI_USER:
22992 case RESTRICTED_USER:
22993 case SINGLE_USER:
22994 case OFFLINE:
22995 case EMERGENCY:
22996 case SUSPEND:
22997 case DATE_CORRELATION_OPTIMIZATION:
22998 case ELASTIC_POOL:
22999 case SERVICE_OBJECTIVE:
23000 case DATABASE_NAME:
23001 case ALLOW_CONNECTIONS:
23002 case GEO:
23003 case NAMED:
23004 case DATEFIRST:
23005 case BACKUP_STORAGE_REDUNDANCY:
23006 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
23007 case SECONDARY:
23008 case FAILOVER:
23009 case DEFAULT_FULLTEXT_LANGUAGE:
23010 case DEFAULT_LANGUAGE:
23011 case INLINE:
23012 case NESTED_TRIGGERS:
23013 case TRANSFORM_NOISE_WORDS:
23014 case TWO_DIGIT_YEAR_CUTOFF:
23015 case PERSISTENT_LOG_BUFFER:
23016 case DIRECTORY_NAME:
23017 case DATEFORMAT:
23018 case DELAYED_DURABILITY:
23019 case AUTHORIZATION:
23020 case TRANSFER:
23021 case PROVIDER:
23022 case SEARCH:
23023 case MEMBER:
23024 case IDENTIFIER_:
23025 case DELIMITED_IDENTIFIER_:
23026 {
23027 setState(3319);
23028 constraintName();
23029 }
23030 break;
23031 default:
23032 throw new NoViableAltException(this);
23033 }
23034 }
23035 }
23036 catch (RecognitionException re) {
23037 _localctx.exception = re;
23038 _errHandler.reportError(this, re);
23039 _errHandler.recover(this, re);
23040 }
23041 finally {
23042 exitRule();
23043 }
23044 return _localctx;
23045 }
23046
23047 public static class AlterTableTriggerContext extends ParserRuleContext {
23048 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
23049 public TerminalNode ENABLE() { return getToken(SQLServerStatementParser.ENABLE, 0); }
23050 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
23051 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
23052 public IgnoredIdentifiersContext ignoredIdentifiers() {
23053 return getRuleContext(IgnoredIdentifiersContext.class,0);
23054 }
23055 public AlterTableTriggerContext(ParserRuleContext parent, int invokingState) {
23056 super(parent, invokingState);
23057 }
23058 @Override public int getRuleIndex() { return RULE_alterTableTrigger; }
23059 @Override
23060 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23061 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableTrigger(this);
23062 else return visitor.visitChildren(this);
23063 }
23064 }
23065
23066 public final AlterTableTriggerContext alterTableTrigger() throws RecognitionException {
23067 AlterTableTriggerContext _localctx = new AlterTableTriggerContext(_ctx, getState());
23068 enterRule(_localctx, 484, RULE_alterTableTrigger);
23069 int _la;
23070 try {
23071 enterOuterAlt(_localctx, 1);
23072 {
23073 setState(3322);
23074 _la = _input.LA(1);
23075 if ( !(_la==ENABLE || _la==DISABLE) ) {
23076 _errHandler.recoverInline(this);
23077 }
23078 else {
23079 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23080 _errHandler.reportMatch(this);
23081 consume();
23082 }
23083 setState(3323);
23084 match(TRIGGER);
23085 setState(3326);
23086 _errHandler.sync(this);
23087 switch (_input.LA(1)) {
23088 case ALL:
23089 {
23090 setState(3324);
23091 match(ALL);
23092 }
23093 break;
23094 case IDENTIFIER_:
23095 {
23096 setState(3325);
23097 ignoredIdentifiers();
23098 }
23099 break;
23100 default:
23101 throw new NoViableAltException(this);
23102 }
23103 }
23104 }
23105 catch (RecognitionException re) {
23106 _localctx.exception = re;
23107 _errHandler.reportError(this, re);
23108 _errHandler.recover(this, re);
23109 }
23110 finally {
23111 exitRule();
23112 }
23113 return _localctx;
23114 }
23115
23116 public static class AlterSwitchContext extends ParserRuleContext {
23117 public TerminalNode SWITCH() { return getToken(SQLServerStatementParser.SWITCH, 0); }
23118 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
23119 public TableNameContext tableName() {
23120 return getRuleContext(TableNameContext.class,0);
23121 }
23122 public List<TerminalNode> PARTITION() { return getTokens(SQLServerStatementParser.PARTITION); }
23123 public TerminalNode PARTITION(int i) {
23124 return getToken(SQLServerStatementParser.PARTITION, i);
23125 }
23126 public List<ExprContext> expr() {
23127 return getRuleContexts(ExprContext.class);
23128 }
23129 public ExprContext expr(int i) {
23130 return getRuleContext(ExprContext.class,i);
23131 }
23132 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
23133 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
23134 public LowPriorityLockWaitContext lowPriorityLockWait() {
23135 return getRuleContext(LowPriorityLockWaitContext.class,0);
23136 }
23137 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
23138 public AlterSwitchContext(ParserRuleContext parent, int invokingState) {
23139 super(parent, invokingState);
23140 }
23141 @Override public int getRuleIndex() { return RULE_alterSwitch; }
23142 @Override
23143 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23144 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSwitch(this);
23145 else return visitor.visitChildren(this);
23146 }
23147 }
23148
23149 public final AlterSwitchContext alterSwitch() throws RecognitionException {
23150 AlterSwitchContext _localctx = new AlterSwitchContext(_ctx, getState());
23151 enterRule(_localctx, 486, RULE_alterSwitch);
23152 int _la;
23153 try {
23154 enterOuterAlt(_localctx, 1);
23155 {
23156 setState(3328);
23157 match(SWITCH);
23158 setState(3331);
23159 _errHandler.sync(this);
23160 _la = _input.LA(1);
23161 if (_la==PARTITION) {
23162 {
23163 setState(3329);
23164 match(PARTITION);
23165 setState(3330);
23166 expr(0);
23167 }
23168 }
23169
23170 setState(3333);
23171 match(TO);
23172 setState(3334);
23173 tableName();
23174 setState(3337);
23175 _errHandler.sync(this);
23176 _la = _input.LA(1);
23177 if (_la==PARTITION) {
23178 {
23179 setState(3335);
23180 match(PARTITION);
23181 setState(3336);
23182 expr(0);
23183 }
23184 }
23185
23186 setState(3344);
23187 _errHandler.sync(this);
23188 switch ( getInterpreter().adaptivePredict(_input,306,_ctx) ) {
23189 case 1:
23190 {
23191 setState(3339);
23192 match(WITH);
23193 setState(3340);
23194 match(LP_);
23195 setState(3341);
23196 lowPriorityLockWait();
23197 setState(3342);
23198 match(RP_);
23199 }
23200 break;
23201 }
23202 }
23203 }
23204 catch (RecognitionException re) {
23205 _localctx.exception = re;
23206 _errHandler.reportError(this, re);
23207 _errHandler.recover(this, re);
23208 }
23209 finally {
23210 exitRule();
23211 }
23212 return _localctx;
23213 }
23214
23215 public static class AlterSetContext extends ParserRuleContext {
23216 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
23217 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
23218 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
23219 public SetFileStreamClauseContext setFileStreamClause() {
23220 return getRuleContext(SetFileStreamClauseContext.class,0);
23221 }
23222 public SetSystemVersionClauseContext setSystemVersionClause() {
23223 return getRuleContext(SetSystemVersionClauseContext.class,0);
23224 }
23225 public AlterSetContext(ParserRuleContext parent, int invokingState) {
23226 super(parent, invokingState);
23227 }
23228 @Override public int getRuleIndex() { return RULE_alterSet; }
23229 @Override
23230 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23231 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSet(this);
23232 else return visitor.visitChildren(this);
23233 }
23234 }
23235
23236 public final AlterSetContext alterSet() throws RecognitionException {
23237 AlterSetContext _localctx = new AlterSetContext(_ctx, getState());
23238 enterRule(_localctx, 488, RULE_alterSet);
23239 try {
23240 enterOuterAlt(_localctx, 1);
23241 {
23242 setState(3346);
23243 match(SET);
23244 setState(3347);
23245 match(LP_);
23246 setState(3350);
23247 _errHandler.sync(this);
23248 switch (_input.LA(1)) {
23249 case FILESTREAM_ON:
23250 {
23251 setState(3348);
23252 setFileStreamClause();
23253 }
23254 break;
23255 case SYSTEM_VERSIONING:
23256 {
23257 setState(3349);
23258 setSystemVersionClause();
23259 }
23260 break;
23261 default:
23262 throw new NoViableAltException(this);
23263 }
23264 setState(3352);
23265 match(RP_);
23266 }
23267 }
23268 catch (RecognitionException re) {
23269 _localctx.exception = re;
23270 _errHandler.reportError(this, re);
23271 _errHandler.recover(this, re);
23272 }
23273 finally {
23274 exitRule();
23275 }
23276 return _localctx;
23277 }
23278
23279 public static class SetFileStreamClauseContext extends ParserRuleContext {
23280 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
23281 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23282 public SchemaNameContext schemaName() {
23283 return getRuleContext(SchemaNameContext.class,0);
23284 }
23285 public IgnoredIdentifierContext ignoredIdentifier() {
23286 return getRuleContext(IgnoredIdentifierContext.class,0);
23287 }
23288 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
23289 public SetFileStreamClauseContext(ParserRuleContext parent, int invokingState) {
23290 super(parent, invokingState);
23291 }
23292 @Override public int getRuleIndex() { return RULE_setFileStreamClause; }
23293 @Override
23294 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23295 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetFileStreamClause(this);
23296 else return visitor.visitChildren(this);
23297 }
23298 }
23299
23300 public final SetFileStreamClauseContext setFileStreamClause() throws RecognitionException {
23301 SetFileStreamClauseContext _localctx = new SetFileStreamClauseContext(_ctx, getState());
23302 enterRule(_localctx, 490, RULE_setFileStreamClause);
23303 try {
23304 enterOuterAlt(_localctx, 1);
23305 {
23306 setState(3354);
23307 match(FILESTREAM_ON);
23308 setState(3355);
23309 match(EQ_);
23310 setState(3359);
23311 _errHandler.sync(this);
23312 switch ( getInterpreter().adaptivePredict(_input,308,_ctx) ) {
23313 case 1:
23314 {
23315 setState(3356);
23316 schemaName();
23317 }
23318 break;
23319 case 2:
23320 {
23321 setState(3357);
23322 ignoredIdentifier();
23323 }
23324 break;
23325 case 3:
23326 {
23327 setState(3358);
23328 match(STRING_);
23329 }
23330 break;
23331 }
23332 }
23333 }
23334 catch (RecognitionException re) {
23335 _localctx.exception = re;
23336 _errHandler.reportError(this, re);
23337 _errHandler.recover(this, re);
23338 }
23339 finally {
23340 exitRule();
23341 }
23342 return _localctx;
23343 }
23344
23345 public static class SetSystemVersionClauseContext extends ParserRuleContext {
23346 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
23347 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23348 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
23349 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
23350 public AlterSetOnClauseContext alterSetOnClause() {
23351 return getRuleContext(AlterSetOnClauseContext.class,0);
23352 }
23353 public SetSystemVersionClauseContext(ParserRuleContext parent, int invokingState) {
23354 super(parent, invokingState);
23355 }
23356 @Override public int getRuleIndex() { return RULE_setSystemVersionClause; }
23357 @Override
23358 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23359 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetSystemVersionClause(this);
23360 else return visitor.visitChildren(this);
23361 }
23362 }
23363
23364 public final SetSystemVersionClauseContext setSystemVersionClause() throws RecognitionException {
23365 SetSystemVersionClauseContext _localctx = new SetSystemVersionClauseContext(_ctx, getState());
23366 enterRule(_localctx, 492, RULE_setSystemVersionClause);
23367 int _la;
23368 try {
23369 enterOuterAlt(_localctx, 1);
23370 {
23371 setState(3361);
23372 match(SYSTEM_VERSIONING);
23373 setState(3362);
23374 match(EQ_);
23375 setState(3368);
23376 _errHandler.sync(this);
23377 switch (_input.LA(1)) {
23378 case OFF:
23379 {
23380 setState(3363);
23381 match(OFF);
23382 }
23383 break;
23384 case ON:
23385 {
23386 setState(3364);
23387 match(ON);
23388 setState(3366);
23389 _errHandler.sync(this);
23390 _la = _input.LA(1);
23391 if (_la==LP_) {
23392 {
23393 setState(3365);
23394 alterSetOnClause();
23395 }
23396 }
23397
23398 }
23399 break;
23400 default:
23401 throw new NoViableAltException(this);
23402 }
23403 }
23404 }
23405 catch (RecognitionException re) {
23406 _localctx.exception = re;
23407 _errHandler.reportError(this, re);
23408 _errHandler.recover(this, re);
23409 }
23410 finally {
23411 exitRule();
23412 }
23413 return _localctx;
23414 }
23415
23416 public static class AlterSetOnClauseContext extends ParserRuleContext {
23417 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
23418 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
23419 public TerminalNode HISTORY_TABLE() { return getToken(SQLServerStatementParser.HISTORY_TABLE, 0); }
23420 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23421 public TableNameContext tableName() {
23422 return getRuleContext(TableNameContext.class,0);
23423 }
23424 public DataConsistencyCheckClauseContext dataConsistencyCheckClause() {
23425 return getRuleContext(DataConsistencyCheckClauseContext.class,0);
23426 }
23427 public HistoryRetentionPeriodClauseContext historyRetentionPeriodClause() {
23428 return getRuleContext(HistoryRetentionPeriodClauseContext.class,0);
23429 }
23430 public AlterSetOnClauseContext(ParserRuleContext parent, int invokingState) {
23431 super(parent, invokingState);
23432 }
23433 @Override public int getRuleIndex() { return RULE_alterSetOnClause; }
23434 @Override
23435 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23436 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSetOnClause(this);
23437 else return visitor.visitChildren(this);
23438 }
23439 }
23440
23441 public final AlterSetOnClauseContext alterSetOnClause() throws RecognitionException {
23442 AlterSetOnClauseContext _localctx = new AlterSetOnClauseContext(_ctx, getState());
23443 enterRule(_localctx, 494, RULE_alterSetOnClause);
23444 int _la;
23445 try {
23446 enterOuterAlt(_localctx, 1);
23447 {
23448 setState(3370);
23449 match(LP_);
23450 setState(3374);
23451 _errHandler.sync(this);
23452 _la = _input.LA(1);
23453 if (_la==HISTORY_TABLE) {
23454 {
23455 setState(3371);
23456 match(HISTORY_TABLE);
23457 setState(3372);
23458 match(EQ_);
23459 setState(3373);
23460 tableName();
23461 }
23462 }
23463
23464 setState(3377);
23465 _errHandler.sync(this);
23466 switch ( getInterpreter().adaptivePredict(_input,312,_ctx) ) {
23467 case 1:
23468 {
23469 setState(3376);
23470 dataConsistencyCheckClause();
23471 }
23472 break;
23473 }
23474 setState(3380);
23475 _errHandler.sync(this);
23476 _la = _input.LA(1);
23477 if (_la==COMMA_ || _la==HISTORY_RETENTION_PERIOD) {
23478 {
23479 setState(3379);
23480 historyRetentionPeriodClause();
23481 }
23482 }
23483
23484 setState(3382);
23485 match(RP_);
23486 }
23487 }
23488 catch (RecognitionException re) {
23489 _localctx.exception = re;
23490 _errHandler.reportError(this, re);
23491 _errHandler.recover(this, re);
23492 }
23493 finally {
23494 exitRule();
23495 }
23496 return _localctx;
23497 }
23498
23499 public static class DataConsistencyCheckClauseContext extends ParserRuleContext {
23500 public TerminalNode DATA_CONSISTENCY_CHECK() { return getToken(SQLServerStatementParser.DATA_CONSISTENCY_CHECK, 0); }
23501 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23502 public OnOffOptionContext onOffOption() {
23503 return getRuleContext(OnOffOptionContext.class,0);
23504 }
23505 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
23506 public DataConsistencyCheckClauseContext(ParserRuleContext parent, int invokingState) {
23507 super(parent, invokingState);
23508 }
23509 @Override public int getRuleIndex() { return RULE_dataConsistencyCheckClause; }
23510 @Override
23511 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23512 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataConsistencyCheckClause(this);
23513 else return visitor.visitChildren(this);
23514 }
23515 }
23516
23517 public final DataConsistencyCheckClauseContext dataConsistencyCheckClause() throws RecognitionException {
23518 DataConsistencyCheckClauseContext _localctx = new DataConsistencyCheckClauseContext(_ctx, getState());
23519 enterRule(_localctx, 496, RULE_dataConsistencyCheckClause);
23520 int _la;
23521 try {
23522 enterOuterAlt(_localctx, 1);
23523 {
23524 setState(3385);
23525 _errHandler.sync(this);
23526 _la = _input.LA(1);
23527 if (_la==COMMA_) {
23528 {
23529 setState(3384);
23530 match(COMMA_);
23531 }
23532 }
23533
23534 setState(3387);
23535 match(DATA_CONSISTENCY_CHECK);
23536 setState(3388);
23537 match(EQ_);
23538 setState(3389);
23539 onOffOption();
23540 }
23541 }
23542 catch (RecognitionException re) {
23543 _localctx.exception = re;
23544 _errHandler.reportError(this, re);
23545 _errHandler.recover(this, re);
23546 }
23547 finally {
23548 exitRule();
23549 }
23550 return _localctx;
23551 }
23552
23553 public static class HistoryRetentionPeriodClauseContext extends ParserRuleContext {
23554 public TerminalNode HISTORY_RETENTION_PERIOD() { return getToken(SQLServerStatementParser.HISTORY_RETENTION_PERIOD, 0); }
23555 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23556 public HistoryRetentionPeriodContext historyRetentionPeriod() {
23557 return getRuleContext(HistoryRetentionPeriodContext.class,0);
23558 }
23559 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
23560 public HistoryRetentionPeriodClauseContext(ParserRuleContext parent, int invokingState) {
23561 super(parent, invokingState);
23562 }
23563 @Override public int getRuleIndex() { return RULE_historyRetentionPeriodClause; }
23564 @Override
23565 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23566 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHistoryRetentionPeriodClause(this);
23567 else return visitor.visitChildren(this);
23568 }
23569 }
23570
23571 public final HistoryRetentionPeriodClauseContext historyRetentionPeriodClause() throws RecognitionException {
23572 HistoryRetentionPeriodClauseContext _localctx = new HistoryRetentionPeriodClauseContext(_ctx, getState());
23573 enterRule(_localctx, 498, RULE_historyRetentionPeriodClause);
23574 int _la;
23575 try {
23576 enterOuterAlt(_localctx, 1);
23577 {
23578 setState(3392);
23579 _errHandler.sync(this);
23580 _la = _input.LA(1);
23581 if (_la==COMMA_) {
23582 {
23583 setState(3391);
23584 match(COMMA_);
23585 }
23586 }
23587
23588 setState(3394);
23589 match(HISTORY_RETENTION_PERIOD);
23590 setState(3395);
23591 match(EQ_);
23592 setState(3396);
23593 historyRetentionPeriod();
23594 }
23595 }
23596 catch (RecognitionException re) {
23597 _localctx.exception = re;
23598 _errHandler.reportError(this, re);
23599 _errHandler.recover(this, re);
23600 }
23601 finally {
23602 exitRule();
23603 }
23604 return _localctx;
23605 }
23606
23607 public static class HistoryRetentionPeriodContext extends ParserRuleContext {
23608 public TerminalNode INFINITE() { return getToken(SQLServerStatementParser.INFINITE, 0); }
23609 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
23610 public TerminalNode DAY() { return getToken(SQLServerStatementParser.DAY, 0); }
23611 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
23612 public TerminalNode WEEK() { return getToken(SQLServerStatementParser.WEEK, 0); }
23613 public TerminalNode WEEKS() { return getToken(SQLServerStatementParser.WEEKS, 0); }
23614 public TerminalNode MONTH() { return getToken(SQLServerStatementParser.MONTH, 0); }
23615 public TerminalNode MONTHS() { return getToken(SQLServerStatementParser.MONTHS, 0); }
23616 public TerminalNode YEAR() { return getToken(SQLServerStatementParser.YEAR, 0); }
23617 public TerminalNode YEARS() { return getToken(SQLServerStatementParser.YEARS, 0); }
23618 public HistoryRetentionPeriodContext(ParserRuleContext parent, int invokingState) {
23619 super(parent, invokingState);
23620 }
23621 @Override public int getRuleIndex() { return RULE_historyRetentionPeriod; }
23622 @Override
23623 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23624 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHistoryRetentionPeriod(this);
23625 else return visitor.visitChildren(this);
23626 }
23627 }
23628
23629 public final HistoryRetentionPeriodContext historyRetentionPeriod() throws RecognitionException {
23630 HistoryRetentionPeriodContext _localctx = new HistoryRetentionPeriodContext(_ctx, getState());
23631 enterRule(_localctx, 500, RULE_historyRetentionPeriod);
23632 int _la;
23633 try {
23634 setState(3401);
23635 _errHandler.sync(this);
23636 switch (_input.LA(1)) {
23637 case INFINITE:
23638 enterOuterAlt(_localctx, 1);
23639 {
23640 setState(3398);
23641 match(INFINITE);
23642 }
23643 break;
23644 case NUMBER_:
23645 enterOuterAlt(_localctx, 2);
23646 {
23647 {
23648 setState(3399);
23649 match(NUMBER_);
23650 setState(3400);
23651 _la = _input.LA(1);
23652 if ( !(((((_la - 140)) & ~0x3f) == 0 && ((1L << (_la - 140)) & ((1L << (YEAR - 140)) | (1L << (MONTH - 140)) | (1L << (WEEK - 140)) | (1L << (DAY - 140)))) != 0) || ((((_la - 274)) & ~0x3f) == 0 && ((1L << (_la - 274)) & ((1L << (YEARS - 274)) | (1L << (MONTHS - 274)) | (1L << (WEEKS - 274)) | (1L << (DAYS - 274)))) != 0)) ) {
23653 _errHandler.recoverInline(this);
23654 }
23655 else {
23656 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23657 _errHandler.reportMatch(this);
23658 consume();
23659 }
23660 }
23661 }
23662 break;
23663 default:
23664 throw new NoViableAltException(this);
23665 }
23666 }
23667 catch (RecognitionException re) {
23668 _localctx.exception = re;
23669 _errHandler.reportError(this, re);
23670 _errHandler.recover(this, re);
23671 }
23672 finally {
23673 exitRule();
23674 }
23675 return _localctx;
23676 }
23677
23678 public static class AlterTableTableIndexContext extends ParserRuleContext {
23679 public IndexWithNameContext indexWithName() {
23680 return getRuleContext(IndexWithNameContext.class,0);
23681 }
23682 public IndexNonClusterClauseContext indexNonClusterClause() {
23683 return getRuleContext(IndexNonClusterClauseContext.class,0);
23684 }
23685 public IndexClusterClauseContext indexClusterClause() {
23686 return getRuleContext(IndexClusterClauseContext.class,0);
23687 }
23688 public AlterTableTableIndexContext(ParserRuleContext parent, int invokingState) {
23689 super(parent, invokingState);
23690 }
23691 @Override public int getRuleIndex() { return RULE_alterTableTableIndex; }
23692 @Override
23693 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23694 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableTableIndex(this);
23695 else return visitor.visitChildren(this);
23696 }
23697 }
23698
23699 public final AlterTableTableIndexContext alterTableTableIndex() throws RecognitionException {
23700 AlterTableTableIndexContext _localctx = new AlterTableTableIndexContext(_ctx, getState());
23701 enterRule(_localctx, 502, RULE_alterTableTableIndex);
23702 try {
23703 enterOuterAlt(_localctx, 1);
23704 {
23705 setState(3403);
23706 indexWithName();
23707 setState(3406);
23708 _errHandler.sync(this);
23709 switch (_input.LA(1)) {
23710 case NONCLUSTERED:
23711 {
23712 setState(3404);
23713 indexNonClusterClause();
23714 }
23715 break;
23716 case CLUSTERED:
23717 {
23718 setState(3405);
23719 indexClusterClause();
23720 }
23721 break;
23722 default:
23723 throw new NoViableAltException(this);
23724 }
23725 }
23726 }
23727 catch (RecognitionException re) {
23728 _localctx.exception = re;
23729 _errHandler.reportError(this, re);
23730 _errHandler.recover(this, re);
23731 }
23732 finally {
23733 exitRule();
23734 }
23735 return _localctx;
23736 }
23737
23738 public static class IndexWithNameContext extends ParserRuleContext {
23739 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
23740 public IndexNameContext indexName() {
23741 return getRuleContext(IndexNameContext.class,0);
23742 }
23743 public IndexWithNameContext(ParserRuleContext parent, int invokingState) {
23744 super(parent, invokingState);
23745 }
23746 @Override public int getRuleIndex() { return RULE_indexWithName; }
23747 @Override
23748 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23749 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexWithName(this);
23750 else return visitor.visitChildren(this);
23751 }
23752 }
23753
23754 public final IndexWithNameContext indexWithName() throws RecognitionException {
23755 IndexWithNameContext _localctx = new IndexWithNameContext(_ctx, getState());
23756 enterRule(_localctx, 504, RULE_indexWithName);
23757 try {
23758 enterOuterAlt(_localctx, 1);
23759 {
23760 setState(3408);
23761 match(INDEX);
23762 setState(3409);
23763 indexName();
23764 }
23765 }
23766 catch (RecognitionException re) {
23767 _localctx.exception = re;
23768 _errHandler.reportError(this, re);
23769 _errHandler.recover(this, re);
23770 }
23771 finally {
23772 exitRule();
23773 }
23774 return _localctx;
23775 }
23776
23777 public static class IndexNonClusterClauseContext extends ParserRuleContext {
23778 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
23779 public HashWithBucketContext hashWithBucket() {
23780 return getRuleContext(HashWithBucketContext.class,0);
23781 }
23782 public ColumnNamesWithSortContext columnNamesWithSort() {
23783 return getRuleContext(ColumnNamesWithSortContext.class,0);
23784 }
23785 public AlterTableIndexOnClauseContext alterTableIndexOnClause() {
23786 return getRuleContext(AlterTableIndexOnClauseContext.class,0);
23787 }
23788 public IndexNonClusterClauseContext(ParserRuleContext parent, int invokingState) {
23789 super(parent, invokingState);
23790 }
23791 @Override public int getRuleIndex() { return RULE_indexNonClusterClause; }
23792 @Override
23793 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23794 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexNonClusterClause(this);
23795 else return visitor.visitChildren(this);
23796 }
23797 }
23798
23799 public final IndexNonClusterClauseContext indexNonClusterClause() throws RecognitionException {
23800 IndexNonClusterClauseContext _localctx = new IndexNonClusterClauseContext(_ctx, getState());
23801 enterRule(_localctx, 506, RULE_indexNonClusterClause);
23802 int _la;
23803 try {
23804 enterOuterAlt(_localctx, 1);
23805 {
23806 setState(3411);
23807 match(NONCLUSTERED);
23808 setState(3417);
23809 _errHandler.sync(this);
23810 switch (_input.LA(1)) {
23811 case HASH:
23812 {
23813 setState(3412);
23814 hashWithBucket();
23815 }
23816 break;
23817 case LP_:
23818 {
23819 setState(3413);
23820 columnNamesWithSort();
23821 setState(3415);
23822 _errHandler.sync(this);
23823 _la = _input.LA(1);
23824 if (_la==ON || _la==DEFAULT) {
23825 {
23826 setState(3414);
23827 alterTableIndexOnClause();
23828 }
23829 }
23830
23831 }
23832 break;
23833 default:
23834 throw new NoViableAltException(this);
23835 }
23836 }
23837 }
23838 catch (RecognitionException re) {
23839 _localctx.exception = re;
23840 _errHandler.reportError(this, re);
23841 _errHandler.recover(this, re);
23842 }
23843 finally {
23844 exitRule();
23845 }
23846 return _localctx;
23847 }
23848
23849 public static class AlterTableIndexOnClauseContext extends ParserRuleContext {
23850 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
23851 public IgnoredIdentifierContext ignoredIdentifier() {
23852 return getRuleContext(IgnoredIdentifierContext.class,0);
23853 }
23854 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
23855 public AlterTableIndexOnClauseContext(ParserRuleContext parent, int invokingState) {
23856 super(parent, invokingState);
23857 }
23858 @Override public int getRuleIndex() { return RULE_alterTableIndexOnClause; }
23859 @Override
23860 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23861 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableIndexOnClause(this);
23862 else return visitor.visitChildren(this);
23863 }
23864 }
23865
23866 public final AlterTableIndexOnClauseContext alterTableIndexOnClause() throws RecognitionException {
23867 AlterTableIndexOnClauseContext _localctx = new AlterTableIndexOnClauseContext(_ctx, getState());
23868 enterRule(_localctx, 508, RULE_alterTableIndexOnClause);
23869 try {
23870 setState(3422);
23871 _errHandler.sync(this);
23872 switch (_input.LA(1)) {
23873 case ON:
23874 enterOuterAlt(_localctx, 1);
23875 {
23876 setState(3419);
23877 match(ON);
23878 setState(3420);
23879 ignoredIdentifier();
23880 }
23881 break;
23882 case DEFAULT:
23883 enterOuterAlt(_localctx, 2);
23884 {
23885 setState(3421);
23886 match(DEFAULT);
23887 }
23888 break;
23889 default:
23890 throw new NoViableAltException(this);
23891 }
23892 }
23893 catch (RecognitionException re) {
23894 _localctx.exception = re;
23895 _errHandler.reportError(this, re);
23896 _errHandler.recover(this, re);
23897 }
23898 finally {
23899 exitRule();
23900 }
23901 return _localctx;
23902 }
23903
23904 public static class IndexClusterClauseContext extends ParserRuleContext {
23905 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
23906 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
23907 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
23908 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
23909 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23910 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
23911 public IndexOnClauseContext indexOnClause() {
23912 return getRuleContext(IndexOnClauseContext.class,0);
23913 }
23914 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
23915 public IndexClusterClauseContext(ParserRuleContext parent, int invokingState) {
23916 super(parent, invokingState);
23917 }
23918 @Override public int getRuleIndex() { return RULE_indexClusterClause; }
23919 @Override
23920 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23921 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexClusterClause(this);
23922 else return visitor.visitChildren(this);
23923 }
23924 }
23925
23926 public final IndexClusterClauseContext indexClusterClause() throws RecognitionException {
23927 IndexClusterClauseContext _localctx = new IndexClusterClauseContext(_ctx, getState());
23928 enterRule(_localctx, 510, RULE_indexClusterClause);
23929 int _la;
23930 try {
23931 enterOuterAlt(_localctx, 1);
23932 {
23933 setState(3424);
23934 match(CLUSTERED);
23935 setState(3425);
23936 match(COLUMNSTORE);
23937 setState(3433);
23938 _errHandler.sync(this);
23939 switch ( getInterpreter().adaptivePredict(_input,322,_ctx) ) {
23940 case 1:
23941 {
23942 setState(3426);
23943 match(WITH);
23944 setState(3427);
23945 match(COMPRESSION_DELAY);
23946 setState(3428);
23947 match(EQ_);
23948 setState(3429);
23949 match(NUMBER_);
23950 setState(3431);
23951 _errHandler.sync(this);
23952 _la = _input.LA(1);
23953 if (_la==MINUTES) {
23954 {
23955 setState(3430);
23956 match(MINUTES);
23957 }
23958 }
23959
23960 }
23961 break;
23962 }
23963 setState(3436);
23964 _errHandler.sync(this);
23965 _la = _input.LA(1);
23966 if (_la==ON) {
23967 {
23968 setState(3435);
23969 indexOnClause();
23970 }
23971 }
23972
23973 }
23974 }
23975 catch (RecognitionException re) {
23976 _localctx.exception = re;
23977 _errHandler.reportError(this, re);
23978 _errHandler.recover(this, re);
23979 }
23980 finally {
23981 exitRule();
23982 }
23983 return _localctx;
23984 }
23985
23986 public static class AlterTableOptionContext extends ParserRuleContext {
23987 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
23988 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
23989 public TerminalNode LOCK_ESCALATION() { return getToken(SQLServerStatementParser.LOCK_ESCALATION, 0); }
23990 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23991 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
23992 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
23993 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
23994 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
23995 public TerminalNode MEMORY_OPTIMIZED() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED, 0); }
23996 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
23997 public TerminalNode DURABILITY() { return getToken(SQLServerStatementParser.DURABILITY, 0); }
23998 public TerminalNode SCHEMA_ONLY() { return getToken(SQLServerStatementParser.SCHEMA_ONLY, 0); }
23999 public TerminalNode SCHEMA_AND_DATA() { return getToken(SQLServerStatementParser.SCHEMA_AND_DATA, 0); }
24000 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
24001 public OnHistoryTableClauseContext onHistoryTableClause() {
24002 return getRuleContext(OnHistoryTableClauseContext.class,0);
24003 }
24004 public AlterTableOptionContext(ParserRuleContext parent, int invokingState) {
24005 super(parent, invokingState);
24006 }
24007 @Override public int getRuleIndex() { return RULE_alterTableOption; }
24008 @Override
24009 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24010 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableOption(this);
24011 else return visitor.visitChildren(this);
24012 }
24013 }
24014
24015 public final AlterTableOptionContext alterTableOption() throws RecognitionException {
24016 AlterTableOptionContext _localctx = new AlterTableOptionContext(_ctx, getState());
24017 enterRule(_localctx, 512, RULE_alterTableOption);
24018 int _la;
24019 try {
24020 setState(3456);
24021 _errHandler.sync(this);
24022 switch (_input.LA(1)) {
24023 case SET:
24024 enterOuterAlt(_localctx, 1);
24025 {
24026 setState(3438);
24027 match(SET);
24028 setState(3439);
24029 match(LP_);
24030 setState(3440);
24031 match(LOCK_ESCALATION);
24032 setState(3441);
24033 match(EQ_);
24034 setState(3442);
24035 _la = _input.LA(1);
24036 if ( !(_la==TABLE || _la==DISABLE || _la==AUTO) ) {
24037 _errHandler.recoverInline(this);
24038 }
24039 else {
24040 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24041 _errHandler.reportMatch(this);
24042 consume();
24043 }
24044 setState(3443);
24045 match(RP_);
24046 }
24047 break;
24048 case MEMORY_OPTIMIZED:
24049 enterOuterAlt(_localctx, 2);
24050 {
24051 setState(3444);
24052 match(MEMORY_OPTIMIZED);
24053 setState(3445);
24054 match(EQ_);
24055 setState(3446);
24056 match(ON);
24057 }
24058 break;
24059 case DURABILITY:
24060 enterOuterAlt(_localctx, 3);
24061 {
24062 setState(3447);
24063 match(DURABILITY);
24064 setState(3448);
24065 match(EQ_);
24066 setState(3449);
24067 _la = _input.LA(1);
24068 if ( !(_la==SCHEMA_AND_DATA || _la==SCHEMA_ONLY) ) {
24069 _errHandler.recoverInline(this);
24070 }
24071 else {
24072 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24073 _errHandler.reportMatch(this);
24074 consume();
24075 }
24076 }
24077 break;
24078 case SYSTEM_VERSIONING:
24079 enterOuterAlt(_localctx, 4);
24080 {
24081 setState(3450);
24082 match(SYSTEM_VERSIONING);
24083 setState(3451);
24084 match(EQ_);
24085 setState(3452);
24086 match(ON);
24087 setState(3454);
24088 _errHandler.sync(this);
24089 _la = _input.LA(1);
24090 if (_la==LP_) {
24091 {
24092 setState(3453);
24093 onHistoryTableClause();
24094 }
24095 }
24096
24097 }
24098 break;
24099 default:
24100 throw new NoViableAltException(this);
24101 }
24102 }
24103 catch (RecognitionException re) {
24104 _localctx.exception = re;
24105 _errHandler.reportError(this, re);
24106 _errHandler.recover(this, re);
24107 }
24108 finally {
24109 exitRule();
24110 }
24111 return _localctx;
24112 }
24113
24114 public static class OnHistoryTableClauseContext extends ParserRuleContext {
24115 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
24116 public TerminalNode HISTORY_TABLE() { return getToken(SQLServerStatementParser.HISTORY_TABLE, 0); }
24117 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
24118 public TerminalNode EQ_(int i) {
24119 return getToken(SQLServerStatementParser.EQ_, i);
24120 }
24121 public TableNameContext tableName() {
24122 return getRuleContext(TableNameContext.class,0);
24123 }
24124 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
24125 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
24126 public TerminalNode DATA_CONSISTENCY_CHECK() { return getToken(SQLServerStatementParser.DATA_CONSISTENCY_CHECK, 0); }
24127 public OnOffOptionContext onOffOption() {
24128 return getRuleContext(OnOffOptionContext.class,0);
24129 }
24130 public OnHistoryTableClauseContext(ParserRuleContext parent, int invokingState) {
24131 super(parent, invokingState);
24132 }
24133 @Override public int getRuleIndex() { return RULE_onHistoryTableClause; }
24134 @Override
24135 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24136 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnHistoryTableClause(this);
24137 else return visitor.visitChildren(this);
24138 }
24139 }
24140
24141 public final OnHistoryTableClauseContext onHistoryTableClause() throws RecognitionException {
24142 OnHistoryTableClauseContext _localctx = new OnHistoryTableClauseContext(_ctx, getState());
24143 enterRule(_localctx, 514, RULE_onHistoryTableClause);
24144 int _la;
24145 try {
24146 enterOuterAlt(_localctx, 1);
24147 {
24148 setState(3458);
24149 match(LP_);
24150 setState(3459);
24151 match(HISTORY_TABLE);
24152 setState(3460);
24153 match(EQ_);
24154 setState(3461);
24155 tableName();
24156 setState(3466);
24157 _errHandler.sync(this);
24158 _la = _input.LA(1);
24159 if (_la==COMMA_) {
24160 {
24161 setState(3462);
24162 match(COMMA_);
24163 setState(3463);
24164 match(DATA_CONSISTENCY_CHECK);
24165 setState(3464);
24166 match(EQ_);
24167 setState(3465);
24168 onOffOption();
24169 }
24170 }
24171
24172 setState(3468);
24173 match(RP_);
24174 }
24175 }
24176 catch (RecognitionException re) {
24177 _localctx.exception = re;
24178 _errHandler.reportError(this, re);
24179 _errHandler.recover(this, re);
24180 }
24181 finally {
24182 exitRule();
24183 }
24184 return _localctx;
24185 }
24186
24187 public static class CreateDatabaseClauseContext extends ParserRuleContext {
24188 public TerminalNode CONTAINMENT() { return getToken(SQLServerStatementParser.CONTAINMENT, 0); }
24189 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
24190 public FileDefinitionClauseContext fileDefinitionClause() {
24191 return getRuleContext(FileDefinitionClauseContext.class,0);
24192 }
24193 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
24194 public IgnoredIdentifierContext ignoredIdentifier() {
24195 return getRuleContext(IgnoredIdentifierContext.class,0);
24196 }
24197 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
24198 public List<DatabaseOptionContext> databaseOption() {
24199 return getRuleContexts(DatabaseOptionContext.class);
24200 }
24201 public DatabaseOptionContext databaseOption(int i) {
24202 return getRuleContext(DatabaseOptionContext.class,i);
24203 }
24204 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
24205 public TerminalNode PARTIAL() { return getToken(SQLServerStatementParser.PARTIAL, 0); }
24206 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
24207 public TerminalNode COMMA_(int i) {
24208 return getToken(SQLServerStatementParser.COMMA_, i);
24209 }
24210 public CreateDatabaseClauseContext(ParserRuleContext parent, int invokingState) {
24211 super(parent, invokingState);
24212 }
24213 @Override public int getRuleIndex() { return RULE_createDatabaseClause; }
24214 @Override
24215 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24216 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateDatabaseClause(this);
24217 else return visitor.visitChildren(this);
24218 }
24219 }
24220
24221 public final CreateDatabaseClauseContext createDatabaseClause() throws RecognitionException {
24222 CreateDatabaseClauseContext _localctx = new CreateDatabaseClauseContext(_ctx, getState());
24223 enterRule(_localctx, 516, RULE_createDatabaseClause);
24224 int _la;
24225 try {
24226 enterOuterAlt(_localctx, 1);
24227 {
24228 setState(3473);
24229 _errHandler.sync(this);
24230 _la = _input.LA(1);
24231 if (_la==CONTAINMENT) {
24232 {
24233 setState(3470);
24234 match(CONTAINMENT);
24235 setState(3471);
24236 match(EQ_);
24237 setState(3472);
24238 _la = _input.LA(1);
24239 if ( !(_la==NONE || _la==PARTIAL) ) {
24240 _errHandler.recoverInline(this);
24241 }
24242 else {
24243 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24244 _errHandler.reportMatch(this);
24245 consume();
24246 }
24247 }
24248 }
24249
24250 setState(3476);
24251 _errHandler.sync(this);
24252 _la = _input.LA(1);
24253 if (_la==ON) {
24254 {
24255 setState(3475);
24256 fileDefinitionClause();
24257 }
24258 }
24259
24260 setState(3480);
24261 _errHandler.sync(this);
24262 _la = _input.LA(1);
24263 if (_la==COLLATE) {
24264 {
24265 setState(3478);
24266 match(COLLATE);
24267 setState(3479);
24268 ignoredIdentifier();
24269 }
24270 }
24271
24272 setState(3491);
24273 _errHandler.sync(this);
24274 _la = _input.LA(1);
24275 if (_la==WITH) {
24276 {
24277 setState(3482);
24278 match(WITH);
24279 setState(3483);
24280 databaseOption();
24281 setState(3488);
24282 _errHandler.sync(this);
24283 _la = _input.LA(1);
24284 while (_la==COMMA_) {
24285 {
24286 {
24287 setState(3484);
24288 match(COMMA_);
24289 setState(3485);
24290 databaseOption();
24291 }
24292 }
24293 setState(3490);
24294 _errHandler.sync(this);
24295 _la = _input.LA(1);
24296 }
24297 }
24298 }
24299
24300 }
24301 }
24302 catch (RecognitionException re) {
24303 _localctx.exception = re;
24304 _errHandler.reportError(this, re);
24305 _errHandler.recover(this, re);
24306 }
24307 finally {
24308 exitRule();
24309 }
24310 return _localctx;
24311 }
24312
24313 public static class FileDefinitionClauseContext extends ParserRuleContext {
24314 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
24315 public List<FileSpecContext> fileSpec() {
24316 return getRuleContexts(FileSpecContext.class);
24317 }
24318 public FileSpecContext fileSpec(int i) {
24319 return getRuleContext(FileSpecContext.class,i);
24320 }
24321 public DatabaseLogOnsContext databaseLogOns() {
24322 return getRuleContext(DatabaseLogOnsContext.class,0);
24323 }
24324 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
24325 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
24326 public TerminalNode COMMA_(int i) {
24327 return getToken(SQLServerStatementParser.COMMA_, i);
24328 }
24329 public List<DatabaseFileGroupContext> databaseFileGroup() {
24330 return getRuleContexts(DatabaseFileGroupContext.class);
24331 }
24332 public DatabaseFileGroupContext databaseFileGroup(int i) {
24333 return getRuleContext(DatabaseFileGroupContext.class,i);
24334 }
24335 public FileDefinitionClauseContext(ParserRuleContext parent, int invokingState) {
24336 super(parent, invokingState);
24337 }
24338 @Override public int getRuleIndex() { return RULE_fileDefinitionClause; }
24339 @Override
24340 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24341 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileDefinitionClause(this);
24342 else return visitor.visitChildren(this);
24343 }
24344 }
24345
24346 public final FileDefinitionClauseContext fileDefinitionClause() throws RecognitionException {
24347 FileDefinitionClauseContext _localctx = new FileDefinitionClauseContext(_ctx, getState());
24348 enterRule(_localctx, 518, RULE_fileDefinitionClause);
24349 int _la;
24350 try {
24351 int _alt;
24352 enterOuterAlt(_localctx, 1);
24353 {
24354 setState(3493);
24355 match(ON);
24356 setState(3495);
24357 _errHandler.sync(this);
24358 _la = _input.LA(1);
24359 if (_la==PRIMARY) {
24360 {
24361 setState(3494);
24362 match(PRIMARY);
24363 }
24364 }
24365
24366 setState(3497);
24367 fileSpec();
24368 setState(3502);
24369 _errHandler.sync(this);
24370 _alt = getInterpreter().adaptivePredict(_input,333,_ctx);
24371 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
24372 if ( _alt==1 ) {
24373 {
24374 {
24375 setState(3498);
24376 match(COMMA_);
24377 setState(3499);
24378 fileSpec();
24379 }
24380 }
24381 }
24382 setState(3504);
24383 _errHandler.sync(this);
24384 _alt = getInterpreter().adaptivePredict(_input,333,_ctx);
24385 }
24386 setState(3509);
24387 _errHandler.sync(this);
24388 _la = _input.LA(1);
24389 while (_la==COMMA_) {
24390 {
24391 {
24392 setState(3505);
24393 match(COMMA_);
24394 setState(3506);
24395 databaseFileGroup();
24396 }
24397 }
24398 setState(3511);
24399 _errHandler.sync(this);
24400 _la = _input.LA(1);
24401 }
24402 setState(3512);
24403 databaseLogOns();
24404 }
24405 }
24406 catch (RecognitionException re) {
24407 _localctx.exception = re;
24408 _errHandler.reportError(this, re);
24409 _errHandler.recover(this, re);
24410 }
24411 finally {
24412 exitRule();
24413 }
24414 return _localctx;
24415 }
24416
24417 public static class DatabaseOptionContext extends ParserRuleContext {
24418 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
24419 public List<FileStreamOptionContext> fileStreamOption() {
24420 return getRuleContexts(FileStreamOptionContext.class);
24421 }
24422 public FileStreamOptionContext fileStreamOption(int i) {
24423 return getRuleContext(FileStreamOptionContext.class,i);
24424 }
24425 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
24426 public TerminalNode COMMA_(int i) {
24427 return getToken(SQLServerStatementParser.COMMA_, i);
24428 }
24429 public TerminalNode DEFAULT_FULLTEXT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_FULLTEXT_LANGUAGE, 0); }
24430 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
24431 public TerminalNode EQ_(int i) {
24432 return getToken(SQLServerStatementParser.EQ_, i);
24433 }
24434 public IgnoredIdentifierContext ignoredIdentifier() {
24435 return getRuleContext(IgnoredIdentifierContext.class,0);
24436 }
24437 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
24438 public TerminalNode NESTED_TRIGGERS() { return getToken(SQLServerStatementParser.NESTED_TRIGGERS, 0); }
24439 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
24440 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
24441 public TerminalNode TRANSFORM_NOISE_WORDS() { return getToken(SQLServerStatementParser.TRANSFORM_NOISE_WORDS, 0); }
24442 public TerminalNode TWO_DIGIT_YEAR_CUTOFF() { return getToken(SQLServerStatementParser.TWO_DIGIT_YEAR_CUTOFF, 0); }
24443 public TerminalNode DB_CHAINING() { return getToken(SQLServerStatementParser.DB_CHAINING, 0); }
24444 public TerminalNode TRUSTWORTHY() { return getToken(SQLServerStatementParser.TRUSTWORTHY, 0); }
24445 public TerminalNode PERSISTENT_LOG_BUFFER() { return getToken(SQLServerStatementParser.PERSISTENT_LOG_BUFFER, 0); }
24446 public TerminalNode DIRECTORY_NAME() { return getToken(SQLServerStatementParser.DIRECTORY_NAME, 0); }
24447 public DatabaseOptionContext(ParserRuleContext parent, int invokingState) {
24448 super(parent, invokingState);
24449 }
24450 @Override public int getRuleIndex() { return RULE_databaseOption; }
24451 @Override
24452 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24453 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseOption(this);
24454 else return visitor.visitChildren(this);
24455 }
24456 }
24457
24458 public final DatabaseOptionContext databaseOption() throws RecognitionException {
24459 DatabaseOptionContext _localctx = new DatabaseOptionContext(_ctx, getState());
24460 enterRule(_localctx, 520, RULE_databaseOption);
24461 int _la;
24462 try {
24463 int _alt;
24464 setState(3548);
24465 _errHandler.sync(this);
24466 switch (_input.LA(1)) {
24467 case FILESTREAM:
24468 enterOuterAlt(_localctx, 1);
24469 {
24470 setState(3514);
24471 match(FILESTREAM);
24472 setState(3515);
24473 fileStreamOption();
24474 setState(3520);
24475 _errHandler.sync(this);
24476 _alt = getInterpreter().adaptivePredict(_input,335,_ctx);
24477 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
24478 if ( _alt==1 ) {
24479 {
24480 {
24481 setState(3516);
24482 match(COMMA_);
24483 setState(3517);
24484 fileStreamOption();
24485 }
24486 }
24487 }
24488 setState(3522);
24489 _errHandler.sync(this);
24490 _alt = getInterpreter().adaptivePredict(_input,335,_ctx);
24491 }
24492 }
24493 break;
24494 case DEFAULT_FULLTEXT_LANGUAGE:
24495 enterOuterAlt(_localctx, 2);
24496 {
24497 setState(3523);
24498 match(DEFAULT_FULLTEXT_LANGUAGE);
24499 setState(3524);
24500 match(EQ_);
24501 setState(3525);
24502 ignoredIdentifier();
24503 }
24504 break;
24505 case DEFAULT_LANGUAGE:
24506 enterOuterAlt(_localctx, 3);
24507 {
24508 setState(3526);
24509 match(DEFAULT_LANGUAGE);
24510 setState(3527);
24511 match(EQ_);
24512 setState(3528);
24513 ignoredIdentifier();
24514 }
24515 break;
24516 case NESTED_TRIGGERS:
24517 enterOuterAlt(_localctx, 4);
24518 {
24519 setState(3529);
24520 match(NESTED_TRIGGERS);
24521 setState(3530);
24522 match(EQ_);
24523 setState(3531);
24524 _la = _input.LA(1);
24525 if ( !(_la==ON || _la==OFF) ) {
24526 _errHandler.recoverInline(this);
24527 }
24528 else {
24529 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24530 _errHandler.reportMatch(this);
24531 consume();
24532 }
24533 }
24534 break;
24535 case TRANSFORM_NOISE_WORDS:
24536 enterOuterAlt(_localctx, 5);
24537 {
24538 setState(3532);
24539 match(TRANSFORM_NOISE_WORDS);
24540 setState(3533);
24541 match(EQ_);
24542 setState(3534);
24543 _la = _input.LA(1);
24544 if ( !(_la==ON || _la==OFF) ) {
24545 _errHandler.recoverInline(this);
24546 }
24547 else {
24548 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24549 _errHandler.reportMatch(this);
24550 consume();
24551 }
24552 }
24553 break;
24554 case TWO_DIGIT_YEAR_CUTOFF:
24555 enterOuterAlt(_localctx, 6);
24556 {
24557 setState(3535);
24558 match(TWO_DIGIT_YEAR_CUTOFF);
24559 setState(3536);
24560 match(EQ_);
24561 setState(3537);
24562 ignoredIdentifier();
24563 }
24564 break;
24565 case DB_CHAINING:
24566 enterOuterAlt(_localctx, 7);
24567 {
24568 setState(3538);
24569 match(DB_CHAINING);
24570 setState(3539);
24571 _la = _input.LA(1);
24572 if ( !(_la==ON || _la==OFF) ) {
24573 _errHandler.recoverInline(this);
24574 }
24575 else {
24576 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24577 _errHandler.reportMatch(this);
24578 consume();
24579 }
24580 }
24581 break;
24582 case TRUSTWORTHY:
24583 enterOuterAlt(_localctx, 8);
24584 {
24585 setState(3540);
24586 match(TRUSTWORTHY);
24587 setState(3541);
24588 _la = _input.LA(1);
24589 if ( !(_la==ON || _la==OFF) ) {
24590 _errHandler.recoverInline(this);
24591 }
24592 else {
24593 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24594 _errHandler.reportMatch(this);
24595 consume();
24596 }
24597 }
24598 break;
24599 case PERSISTENT_LOG_BUFFER:
24600 enterOuterAlt(_localctx, 9);
24601 {
24602 setState(3542);
24603 match(PERSISTENT_LOG_BUFFER);
24604 setState(3543);
24605 match(EQ_);
24606 setState(3544);
24607 match(ON);
24608 {
24609 setState(3545);
24610 match(DIRECTORY_NAME);
24611 setState(3546);
24612 match(EQ_);
24613 setState(3547);
24614 ignoredIdentifier();
24615 }
24616 }
24617 break;
24618 default:
24619 throw new NoViableAltException(this);
24620 }
24621 }
24622 catch (RecognitionException re) {
24623 _localctx.exception = re;
24624 _errHandler.reportError(this, re);
24625 _errHandler.recover(this, re);
24626 }
24627 finally {
24628 exitRule();
24629 }
24630 return _localctx;
24631 }
24632
24633 public static class FileStreamOptionContext extends ParserRuleContext {
24634 public TerminalNode NON_TRANSACTED_ACCESS() { return getToken(SQLServerStatementParser.NON_TRANSACTED_ACCESS, 0); }
24635 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
24636 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
24637 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
24638 public TerminalNode FULL() { return getToken(SQLServerStatementParser.FULL, 0); }
24639 public TerminalNode DIRECTORY_NAME() { return getToken(SQLServerStatementParser.DIRECTORY_NAME, 0); }
24640 public IgnoredIdentifierContext ignoredIdentifier() {
24641 return getRuleContext(IgnoredIdentifierContext.class,0);
24642 }
24643 public FileStreamOptionContext(ParserRuleContext parent, int invokingState) {
24644 super(parent, invokingState);
24645 }
24646 @Override public int getRuleIndex() { return RULE_fileStreamOption; }
24647 @Override
24648 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24649 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileStreamOption(this);
24650 else return visitor.visitChildren(this);
24651 }
24652 }
24653
24654 public final FileStreamOptionContext fileStreamOption() throws RecognitionException {
24655 FileStreamOptionContext _localctx = new FileStreamOptionContext(_ctx, getState());
24656 enterRule(_localctx, 522, RULE_fileStreamOption);
24657 int _la;
24658 try {
24659 setState(3556);
24660 _errHandler.sync(this);
24661 switch (_input.LA(1)) {
24662 case NON_TRANSACTED_ACCESS:
24663 enterOuterAlt(_localctx, 1);
24664 {
24665 setState(3550);
24666 match(NON_TRANSACTED_ACCESS);
24667 setState(3551);
24668 match(EQ_);
24669 setState(3552);
24670 _la = _input.LA(1);
24671 if ( !(_la==FULL || _la==OFF || _la==READ_ONLY) ) {
24672 _errHandler.recoverInline(this);
24673 }
24674 else {
24675 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24676 _errHandler.reportMatch(this);
24677 consume();
24678 }
24679 }
24680 break;
24681 case DIRECTORY_NAME:
24682 enterOuterAlt(_localctx, 2);
24683 {
24684 setState(3553);
24685 match(DIRECTORY_NAME);
24686 setState(3554);
24687 match(EQ_);
24688 setState(3555);
24689 ignoredIdentifier();
24690 }
24691 break;
24692 default:
24693 throw new NoViableAltException(this);
24694 }
24695 }
24696 catch (RecognitionException re) {
24697 _localctx.exception = re;
24698 _errHandler.reportError(this, re);
24699 _errHandler.recover(this, re);
24700 }
24701 finally {
24702 exitRule();
24703 }
24704 return _localctx;
24705 }
24706
24707 public static class FileSpecContext extends ParserRuleContext {
24708 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
24709 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
24710 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
24711 public TerminalNode EQ_(int i) {
24712 return getToken(SQLServerStatementParser.EQ_, i);
24713 }
24714 public IgnoredIdentifierContext ignoredIdentifier() {
24715 return getRuleContext(IgnoredIdentifierContext.class,0);
24716 }
24717 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
24718 public TerminalNode FILENAME() { return getToken(SQLServerStatementParser.FILENAME, 0); }
24719 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
24720 public DatabaseFileSpecOptionContext databaseFileSpecOption() {
24721 return getRuleContext(DatabaseFileSpecOptionContext.class,0);
24722 }
24723 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
24724 public FileSpecContext(ParserRuleContext parent, int invokingState) {
24725 super(parent, invokingState);
24726 }
24727 @Override public int getRuleIndex() { return RULE_fileSpec; }
24728 @Override
24729 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24730 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileSpec(this);
24731 else return visitor.visitChildren(this);
24732 }
24733 }
24734
24735 public final FileSpecContext fileSpec() throws RecognitionException {
24736 FileSpecContext _localctx = new FileSpecContext(_ctx, getState());
24737 enterRule(_localctx, 524, RULE_fileSpec);
24738 try {
24739 enterOuterAlt(_localctx, 1);
24740 {
24741 setState(3558);
24742 match(LP_);
24743 setState(3559);
24744 match(NAME);
24745 setState(3560);
24746 match(EQ_);
24747 setState(3561);
24748 ignoredIdentifier();
24749 setState(3562);
24750 match(COMMA_);
24751 setState(3563);
24752 match(FILENAME);
24753 setState(3564);
24754 match(EQ_);
24755 setState(3565);
24756 match(STRING_);
24757 setState(3566);
24758 databaseFileSpecOption();
24759 setState(3567);
24760 match(RP_);
24761 }
24762 }
24763 catch (RecognitionException re) {
24764 _localctx.exception = re;
24765 _errHandler.reportError(this, re);
24766 _errHandler.recover(this, re);
24767 }
24768 finally {
24769 exitRule();
24770 }
24771 return _localctx;
24772 }
24773
24774 public static class DatabaseFileSpecOptionContext extends ParserRuleContext {
24775 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
24776 public TerminalNode COMMA_(int i) {
24777 return getToken(SQLServerStatementParser.COMMA_, i);
24778 }
24779 public TerminalNode SIZE() { return getToken(SQLServerStatementParser.SIZE, 0); }
24780 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
24781 public TerminalNode EQ_(int i) {
24782 return getToken(SQLServerStatementParser.EQ_, i);
24783 }
24784 public List<NumberLiteralsContext> numberLiterals() {
24785 return getRuleContexts(NumberLiteralsContext.class);
24786 }
24787 public NumberLiteralsContext numberLiterals(int i) {
24788 return getRuleContext(NumberLiteralsContext.class,i);
24789 }
24790 public TerminalNode MAXSIZE() { return getToken(SQLServerStatementParser.MAXSIZE, 0); }
24791 public TerminalNode FILEGROWTH() { return getToken(SQLServerStatementParser.FILEGROWTH, 0); }
24792 public TerminalNode UNLIMITED() { return getToken(SQLServerStatementParser.UNLIMITED, 0); }
24793 public List<TerminalNode> KB() { return getTokens(SQLServerStatementParser.KB); }
24794 public TerminalNode KB(int i) {
24795 return getToken(SQLServerStatementParser.KB, i);
24796 }
24797 public List<TerminalNode> MB() { return getTokens(SQLServerStatementParser.MB); }
24798 public TerminalNode MB(int i) {
24799 return getToken(SQLServerStatementParser.MB, i);
24800 }
24801 public List<TerminalNode> GB() { return getTokens(SQLServerStatementParser.GB); }
24802 public TerminalNode GB(int i) {
24803 return getToken(SQLServerStatementParser.GB, i);
24804 }
24805 public List<TerminalNode> TB() { return getTokens(SQLServerStatementParser.TB); }
24806 public TerminalNode TB(int i) {
24807 return getToken(SQLServerStatementParser.TB, i);
24808 }
24809 public TerminalNode MOD_() { return getToken(SQLServerStatementParser.MOD_, 0); }
24810 public DatabaseFileSpecOptionContext(ParserRuleContext parent, int invokingState) {
24811 super(parent, invokingState);
24812 }
24813 @Override public int getRuleIndex() { return RULE_databaseFileSpecOption; }
24814 @Override
24815 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24816 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseFileSpecOption(this);
24817 else return visitor.visitChildren(this);
24818 }
24819 }
24820
24821 public final DatabaseFileSpecOptionContext databaseFileSpecOption() throws RecognitionException {
24822 DatabaseFileSpecOptionContext _localctx = new DatabaseFileSpecOptionContext(_ctx, getState());
24823 enterRule(_localctx, 526, RULE_databaseFileSpecOption);
24824 int _la;
24825 try {
24826 enterOuterAlt(_localctx, 1);
24827 {
24828 setState(3576);
24829 _errHandler.sync(this);
24830 switch ( getInterpreter().adaptivePredict(_input,339,_ctx) ) {
24831 case 1:
24832 {
24833 setState(3569);
24834 match(COMMA_);
24835 setState(3570);
24836 match(SIZE);
24837 setState(3571);
24838 match(EQ_);
24839 setState(3572);
24840 numberLiterals();
24841 setState(3574);
24842 _errHandler.sync(this);
24843 _la = _input.LA(1);
24844 if (((((_la - 509)) & ~0x3f) == 0 && ((1L << (_la - 509)) & ((1L << (KB - 509)) | (1L << (MB - 509)) | (1L << (GB - 509)) | (1L << (TB - 509)))) != 0)) {
24845 {
24846 setState(3573);
24847 _la = _input.LA(1);
24848 if ( !(((((_la - 509)) & ~0x3f) == 0 && ((1L << (_la - 509)) & ((1L << (KB - 509)) | (1L << (MB - 509)) | (1L << (GB - 509)) | (1L << (TB - 509)))) != 0)) ) {
24849 _errHandler.recoverInline(this);
24850 }
24851 else {
24852 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24853 _errHandler.reportMatch(this);
24854 consume();
24855 }
24856 }
24857 }
24858
24859 }
24860 break;
24861 }
24862 setState(3588);
24863 _errHandler.sync(this);
24864 switch ( getInterpreter().adaptivePredict(_input,342,_ctx) ) {
24865 case 1:
24866 {
24867 setState(3578);
24868 match(COMMA_);
24869 setState(3579);
24870 match(MAXSIZE);
24871 setState(3580);
24872 match(EQ_);
24873 setState(3586);
24874 _errHandler.sync(this);
24875 switch (_input.LA(1)) {
24876 case PLUS_:
24877 case MINUS_:
24878 case NUMBER_:
24879 {
24880 setState(3581);
24881 numberLiterals();
24882 setState(3583);
24883 _errHandler.sync(this);
24884 _la = _input.LA(1);
24885 if (((((_la - 509)) & ~0x3f) == 0 && ((1L << (_la - 509)) & ((1L << (KB - 509)) | (1L << (MB - 509)) | (1L << (GB - 509)) | (1L << (TB - 509)))) != 0)) {
24886 {
24887 setState(3582);
24888 _la = _input.LA(1);
24889 if ( !(((((_la - 509)) & ~0x3f) == 0 && ((1L << (_la - 509)) & ((1L << (KB - 509)) | (1L << (MB - 509)) | (1L << (GB - 509)) | (1L << (TB - 509)))) != 0)) ) {
24890 _errHandler.recoverInline(this);
24891 }
24892 else {
24893 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24894 _errHandler.reportMatch(this);
24895 consume();
24896 }
24897 }
24898 }
24899
24900 }
24901 break;
24902 case UNLIMITED:
24903 {
24904 setState(3585);
24905 match(UNLIMITED);
24906 }
24907 break;
24908 default:
24909 throw new NoViableAltException(this);
24910 }
24911 }
24912 break;
24913 }
24914 setState(3597);
24915 _errHandler.sync(this);
24916 _la = _input.LA(1);
24917 if (_la==COMMA_) {
24918 {
24919 setState(3590);
24920 match(COMMA_);
24921 setState(3591);
24922 match(FILEGROWTH);
24923 setState(3592);
24924 match(EQ_);
24925 setState(3593);
24926 numberLiterals();
24927 setState(3595);
24928 _errHandler.sync(this);
24929 _la = _input.LA(1);
24930 if (_la==MOD_ || ((((_la - 509)) & ~0x3f) == 0 && ((1L << (_la - 509)) & ((1L << (KB - 509)) | (1L << (MB - 509)) | (1L << (GB - 509)) | (1L << (TB - 509)))) != 0)) {
24931 {
24932 setState(3594);
24933 _la = _input.LA(1);
24934 if ( !(_la==MOD_ || ((((_la - 509)) & ~0x3f) == 0 && ((1L << (_la - 509)) & ((1L << (KB - 509)) | (1L << (MB - 509)) | (1L << (GB - 509)) | (1L << (TB - 509)))) != 0)) ) {
24935 _errHandler.recoverInline(this);
24936 }
24937 else {
24938 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
24939 _errHandler.reportMatch(this);
24940 consume();
24941 }
24942 }
24943 }
24944
24945 }
24946 }
24947
24948 }
24949 }
24950 catch (RecognitionException re) {
24951 _localctx.exception = re;
24952 _errHandler.reportError(this, re);
24953 _errHandler.recover(this, re);
24954 }
24955 finally {
24956 exitRule();
24957 }
24958 return _localctx;
24959 }
24960
24961 public static class DatabaseFileGroupContext extends ParserRuleContext {
24962 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
24963 public IgnoredIdentifierContext ignoredIdentifier() {
24964 return getRuleContext(IgnoredIdentifierContext.class,0);
24965 }
24966 public List<FileSpecContext> fileSpec() {
24967 return getRuleContexts(FileSpecContext.class);
24968 }
24969 public FileSpecContext fileSpec(int i) {
24970 return getRuleContext(FileSpecContext.class,i);
24971 }
24972 public DatabaseFileGroupContainsContext databaseFileGroupContains() {
24973 return getRuleContext(DatabaseFileGroupContainsContext.class,0);
24974 }
24975 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
24976 public TerminalNode COMMA_(int i) {
24977 return getToken(SQLServerStatementParser.COMMA_, i);
24978 }
24979 public DatabaseFileGroupContext(ParserRuleContext parent, int invokingState) {
24980 super(parent, invokingState);
24981 }
24982 @Override public int getRuleIndex() { return RULE_databaseFileGroup; }
24983 @Override
24984 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24985 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseFileGroup(this);
24986 else return visitor.visitChildren(this);
24987 }
24988 }
24989
24990 public final DatabaseFileGroupContext databaseFileGroup() throws RecognitionException {
24991 DatabaseFileGroupContext _localctx = new DatabaseFileGroupContext(_ctx, getState());
24992 enterRule(_localctx, 528, RULE_databaseFileGroup);
24993 try {
24994 int _alt;
24995 enterOuterAlt(_localctx, 1);
24996 {
24997 setState(3599);
24998 match(FILEGROUP);
24999 setState(3600);
25000 ignoredIdentifier();
25001 setState(3602);
25002 _errHandler.sync(this);
25003 switch ( getInterpreter().adaptivePredict(_input,345,_ctx) ) {
25004 case 1:
25005 {
25006 setState(3601);
25007 databaseFileGroupContains();
25008 }
25009 break;
25010 }
25011 setState(3604);
25012 fileSpec();
25013 setState(3609);
25014 _errHandler.sync(this);
25015 _alt = getInterpreter().adaptivePredict(_input,346,_ctx);
25016 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
25017 if ( _alt==1 ) {
25018 {
25019 {
25020 setState(3605);
25021 match(COMMA_);
25022 setState(3606);
25023 fileSpec();
25024 }
25025 }
25026 }
25027 setState(3611);
25028 _errHandler.sync(this);
25029 _alt = getInterpreter().adaptivePredict(_input,346,_ctx);
25030 }
25031 }
25032 }
25033 catch (RecognitionException re) {
25034 _localctx.exception = re;
25035 _errHandler.reportError(this, re);
25036 _errHandler.recover(this, re);
25037 }
25038 finally {
25039 exitRule();
25040 }
25041 return _localctx;
25042 }
25043
25044 public static class DatabaseFileGroupContainsContext extends ParserRuleContext {
25045 public TerminalNode CONTAINS() { return getToken(SQLServerStatementParser.CONTAINS, 0); }
25046 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
25047 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
25048 public TerminalNode MEMORY_OPTIMIZED_DATA() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_DATA, 0); }
25049 public DatabaseFileGroupContainsContext(ParserRuleContext parent, int invokingState) {
25050 super(parent, invokingState);
25051 }
25052 @Override public int getRuleIndex() { return RULE_databaseFileGroupContains; }
25053 @Override
25054 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25055 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseFileGroupContains(this);
25056 else return visitor.visitChildren(this);
25057 }
25058 }
25059
25060 public final DatabaseFileGroupContainsContext databaseFileGroupContains() throws RecognitionException {
25061 DatabaseFileGroupContainsContext _localctx = new DatabaseFileGroupContainsContext(_ctx, getState());
25062 enterRule(_localctx, 530, RULE_databaseFileGroupContains);
25063 int _la;
25064 try {
25065 setState(3621);
25066 _errHandler.sync(this);
25067 switch ( getInterpreter().adaptivePredict(_input,349,_ctx) ) {
25068 case 1:
25069 enterOuterAlt(_localctx, 1);
25070 {
25071 setState(3614);
25072 _errHandler.sync(this);
25073 _la = _input.LA(1);
25074 if (_la==CONTAINS) {
25075 {
25076 setState(3612);
25077 match(CONTAINS);
25078 setState(3613);
25079 match(FILESTREAM);
25080 }
25081 }
25082
25083 setState(3617);
25084 _errHandler.sync(this);
25085 _la = _input.LA(1);
25086 if (_la==DEFAULT) {
25087 {
25088 setState(3616);
25089 match(DEFAULT);
25090 }
25091 }
25092
25093 }
25094 break;
25095 case 2:
25096 enterOuterAlt(_localctx, 2);
25097 {
25098 setState(3619);
25099 match(CONTAINS);
25100 setState(3620);
25101 match(MEMORY_OPTIMIZED_DATA);
25102 }
25103 break;
25104 }
25105 }
25106 catch (RecognitionException re) {
25107 _localctx.exception = re;
25108 _errHandler.reportError(this, re);
25109 _errHandler.recover(this, re);
25110 }
25111 finally {
25112 exitRule();
25113 }
25114 return _localctx;
25115 }
25116
25117 public static class DatabaseLogOnsContext extends ParserRuleContext {
25118 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
25119 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
25120 public List<FileSpecContext> fileSpec() {
25121 return getRuleContexts(FileSpecContext.class);
25122 }
25123 public FileSpecContext fileSpec(int i) {
25124 return getRuleContext(FileSpecContext.class,i);
25125 }
25126 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
25127 public TerminalNode COMMA_(int i) {
25128 return getToken(SQLServerStatementParser.COMMA_, i);
25129 }
25130 public DatabaseLogOnsContext(ParserRuleContext parent, int invokingState) {
25131 super(parent, invokingState);
25132 }
25133 @Override public int getRuleIndex() { return RULE_databaseLogOns; }
25134 @Override
25135 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25136 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseLogOns(this);
25137 else return visitor.visitChildren(this);
25138 }
25139 }
25140
25141 public final DatabaseLogOnsContext databaseLogOns() throws RecognitionException {
25142 DatabaseLogOnsContext _localctx = new DatabaseLogOnsContext(_ctx, getState());
25143 enterRule(_localctx, 532, RULE_databaseLogOns);
25144 int _la;
25145 try {
25146 enterOuterAlt(_localctx, 1);
25147 {
25148 setState(3633);
25149 _errHandler.sync(this);
25150 _la = _input.LA(1);
25151 if (_la==LOG) {
25152 {
25153 setState(3623);
25154 match(LOG);
25155 setState(3624);
25156 match(ON);
25157 setState(3625);
25158 fileSpec();
25159 setState(3630);
25160 _errHandler.sync(this);
25161 _la = _input.LA(1);
25162 while (_la==COMMA_) {
25163 {
25164 {
25165 setState(3626);
25166 match(COMMA_);
25167 setState(3627);
25168 fileSpec();
25169 }
25170 }
25171 setState(3632);
25172 _errHandler.sync(this);
25173 _la = _input.LA(1);
25174 }
25175 }
25176 }
25177
25178 }
25179 }
25180 catch (RecognitionException re) {
25181 _localctx.exception = re;
25182 _errHandler.reportError(this, re);
25183 _errHandler.recover(this, re);
25184 }
25185 finally {
25186 exitRule();
25187 }
25188 return _localctx;
25189 }
25190
25191 public static class DeclareVariableContext extends ParserRuleContext {
25192 public TerminalNode DECLARE() { return getToken(SQLServerStatementParser.DECLARE, 0); }
25193 public List<VariableContext> variable() {
25194 return getRuleContexts(VariableContext.class);
25195 }
25196 public VariableContext variable(int i) {
25197 return getRuleContext(VariableContext.class,i);
25198 }
25199 public TableVariableContext tableVariable() {
25200 return getRuleContext(TableVariableContext.class,0);
25201 }
25202 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
25203 public TerminalNode COMMA_(int i) {
25204 return getToken(SQLServerStatementParser.COMMA_, i);
25205 }
25206 public DeclareVariableContext(ParserRuleContext parent, int invokingState) {
25207 super(parent, invokingState);
25208 }
25209 @Override public int getRuleIndex() { return RULE_declareVariable; }
25210 @Override
25211 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25212 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDeclareVariable(this);
25213 else return visitor.visitChildren(this);
25214 }
25215 }
25216
25217 public final DeclareVariableContext declareVariable() throws RecognitionException {
25218 DeclareVariableContext _localctx = new DeclareVariableContext(_ctx, getState());
25219 enterRule(_localctx, 534, RULE_declareVariable);
25220 int _la;
25221 try {
25222 enterOuterAlt(_localctx, 1);
25223 {
25224 setState(3635);
25225 match(DECLARE);
25226 setState(3645);
25227 _errHandler.sync(this);
25228 switch ( getInterpreter().adaptivePredict(_input,353,_ctx) ) {
25229 case 1:
25230 {
25231 setState(3636);
25232 variable();
25233 setState(3641);
25234 _errHandler.sync(this);
25235 _la = _input.LA(1);
25236 while (_la==COMMA_) {
25237 {
25238 {
25239 setState(3637);
25240 match(COMMA_);
25241 setState(3638);
25242 variable();
25243 }
25244 }
25245 setState(3643);
25246 _errHandler.sync(this);
25247 _la = _input.LA(1);
25248 }
25249 }
25250 break;
25251 case 2:
25252 {
25253 setState(3644);
25254 tableVariable();
25255 }
25256 break;
25257 }
25258 }
25259 }
25260 catch (RecognitionException re) {
25261 _localctx.exception = re;
25262 _errHandler.reportError(this, re);
25263 _errHandler.recover(this, re);
25264 }
25265 finally {
25266 exitRule();
25267 }
25268 return _localctx;
25269 }
25270
25271 public static class VariableContext extends ParserRuleContext {
25272 public VariableNameContext variableName() {
25273 return getRuleContext(VariableNameContext.class,0);
25274 }
25275 public DataTypeContext dataType() {
25276 return getRuleContext(DataTypeContext.class,0);
25277 }
25278 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
25279 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
25280 public SimpleExprContext simpleExpr() {
25281 return getRuleContext(SimpleExprContext.class,0);
25282 }
25283 public TerminalNode CURSOR() { return getToken(SQLServerStatementParser.CURSOR, 0); }
25284 public VariableContext(ParserRuleContext parent, int invokingState) {
25285 super(parent, invokingState);
25286 }
25287 @Override public int getRuleIndex() { return RULE_variable; }
25288 @Override
25289 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25290 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariable(this);
25291 else return visitor.visitChildren(this);
25292 }
25293 }
25294
25295 public final VariableContext variable() throws RecognitionException {
25296 VariableContext _localctx = new VariableContext(_ctx, getState());
25297 enterRule(_localctx, 536, RULE_variable);
25298 int _la;
25299 try {
25300 setState(3659);
25301 _errHandler.sync(this);
25302 switch ( getInterpreter().adaptivePredict(_input,356,_ctx) ) {
25303 case 1:
25304 enterOuterAlt(_localctx, 1);
25305 {
25306 setState(3647);
25307 variableName();
25308 setState(3649);
25309 _errHandler.sync(this);
25310 _la = _input.LA(1);
25311 if (_la==AS) {
25312 {
25313 setState(3648);
25314 match(AS);
25315 }
25316 }
25317
25318 setState(3651);
25319 dataType();
25320 setState(3654);
25321 _errHandler.sync(this);
25322 switch ( getInterpreter().adaptivePredict(_input,355,_ctx) ) {
25323 case 1:
25324 {
25325 setState(3652);
25326 match(EQ_);
25327 setState(3653);
25328 simpleExpr(0);
25329 }
25330 break;
25331 }
25332 }
25333 break;
25334 case 2:
25335 enterOuterAlt(_localctx, 2);
25336 {
25337 setState(3656);
25338 variableName();
25339 setState(3657);
25340 match(CURSOR);
25341 }
25342 break;
25343 }
25344 }
25345 catch (RecognitionException re) {
25346 _localctx.exception = re;
25347 _errHandler.reportError(this, re);
25348 _errHandler.recover(this, re);
25349 }
25350 finally {
25351 exitRule();
25352 }
25353 return _localctx;
25354 }
25355
25356 public static class TableVariableContext extends ParserRuleContext {
25357 public VariableNameContext variableName() {
25358 return getRuleContext(VariableNameContext.class,0);
25359 }
25360 public VariTableTypeDefinitionContext variTableTypeDefinition() {
25361 return getRuleContext(VariTableTypeDefinitionContext.class,0);
25362 }
25363 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
25364 public TableVariableContext(ParserRuleContext parent, int invokingState) {
25365 super(parent, invokingState);
25366 }
25367 @Override public int getRuleIndex() { return RULE_tableVariable; }
25368 @Override
25369 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25370 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableVariable(this);
25371 else return visitor.visitChildren(this);
25372 }
25373 }
25374
25375 public final TableVariableContext tableVariable() throws RecognitionException {
25376 TableVariableContext _localctx = new TableVariableContext(_ctx, getState());
25377 enterRule(_localctx, 538, RULE_tableVariable);
25378 int _la;
25379 try {
25380 enterOuterAlt(_localctx, 1);
25381 {
25382 setState(3661);
25383 variableName();
25384 setState(3663);
25385 _errHandler.sync(this);
25386 _la = _input.LA(1);
25387 if (_la==AS) {
25388 {
25389 setState(3662);
25390 match(AS);
25391 }
25392 }
25393
25394 setState(3665);
25395 variTableTypeDefinition();
25396 }
25397 }
25398 catch (RecognitionException re) {
25399 _localctx.exception = re;
25400 _errHandler.reportError(this, re);
25401 _errHandler.recover(this, re);
25402 }
25403 finally {
25404 exitRule();
25405 }
25406 return _localctx;
25407 }
25408
25409 public static class VariTableTypeDefinitionContext extends ParserRuleContext {
25410 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
25411 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
25412 public List<TableVariableClauseContext> tableVariableClause() {
25413 return getRuleContexts(TableVariableClauseContext.class);
25414 }
25415 public TableVariableClauseContext tableVariableClause(int i) {
25416 return getRuleContext(TableVariableClauseContext.class,i);
25417 }
25418 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
25419 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
25420 public TerminalNode COMMA_(int i) {
25421 return getToken(SQLServerStatementParser.COMMA_, i);
25422 }
25423 public VariTableTypeDefinitionContext(ParserRuleContext parent, int invokingState) {
25424 super(parent, invokingState);
25425 }
25426 @Override public int getRuleIndex() { return RULE_variTableTypeDefinition; }
25427 @Override
25428 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25429 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariTableTypeDefinition(this);
25430 else return visitor.visitChildren(this);
25431 }
25432 }
25433
25434 public final VariTableTypeDefinitionContext variTableTypeDefinition() throws RecognitionException {
25435 VariTableTypeDefinitionContext _localctx = new VariTableTypeDefinitionContext(_ctx, getState());
25436 enterRule(_localctx, 540, RULE_variTableTypeDefinition);
25437 int _la;
25438 try {
25439 enterOuterAlt(_localctx, 1);
25440 {
25441 setState(3667);
25442 match(TABLE);
25443 setState(3668);
25444 match(LP_);
25445 setState(3669);
25446 tableVariableClause();
25447 setState(3674);
25448 _errHandler.sync(this);
25449 _la = _input.LA(1);
25450 while (_la==COMMA_) {
25451 {
25452 {
25453 setState(3670);
25454 match(COMMA_);
25455 setState(3671);
25456 tableVariableClause();
25457 }
25458 }
25459 setState(3676);
25460 _errHandler.sync(this);
25461 _la = _input.LA(1);
25462 }
25463 setState(3677);
25464 match(RP_);
25465 }
25466 }
25467 catch (RecognitionException re) {
25468 _localctx.exception = re;
25469 _errHandler.reportError(this, re);
25470 _errHandler.recover(this, re);
25471 }
25472 finally {
25473 exitRule();
25474 }
25475 return _localctx;
25476 }
25477
25478 public static class TableVariableClauseContext extends ParserRuleContext {
25479 public VariableTableColumnDefinitionContext variableTableColumnDefinition() {
25480 return getRuleContext(VariableTableColumnDefinitionContext.class,0);
25481 }
25482 public VariableTableConstraintContext variableTableConstraint() {
25483 return getRuleContext(VariableTableConstraintContext.class,0);
25484 }
25485 public TableVariableClauseContext(ParserRuleContext parent, int invokingState) {
25486 super(parent, invokingState);
25487 }
25488 @Override public int getRuleIndex() { return RULE_tableVariableClause; }
25489 @Override
25490 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25491 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableVariableClause(this);
25492 else return visitor.visitChildren(this);
25493 }
25494 }
25495
25496 public final TableVariableClauseContext tableVariableClause() throws RecognitionException {
25497 TableVariableClauseContext _localctx = new TableVariableClauseContext(_ctx, getState());
25498 enterRule(_localctx, 542, RULE_tableVariableClause);
25499 try {
25500 setState(3681);
25501 _errHandler.sync(this);
25502 switch (_input.LA(1)) {
25503 case DOLLAR_:
25504 case TRUNCATE:
25505 case SCHEMA:
25506 case COLUMNS:
25507 case PRECISION:
25508 case FUNCTION:
25509 case TRIGGER:
25510 case CAST:
25511 case TRIM:
25512 case SUBSTRING:
25513 case OFF:
25514 case GROUP:
25515 case LIMIT:
25516 case OFFSET:
25517 case SAVEPOINT:
25518 case BOOLEAN:
25519 case ARRAY:
25520 case DATE:
25521 case TIMESTAMP:
25522 case LOCALTIME:
25523 case LOCALTIMESTAMP:
25524 case YEAR:
25525 case QUARTER:
25526 case MONTH:
25527 case WEEK:
25528 case DAY:
25529 case SECOND:
25530 case MICROSECOND:
25531 case MAX:
25532 case MIN:
25533 case SUM:
25534 case COUNT:
25535 case AVG:
25536 case ENABLE:
25537 case DISABLE:
25538 case INSTANCE:
25539 case DO:
25540 case DEFINER:
25541 case SQL:
25542 case CASCADED:
25543 case LOCAL:
25544 case NEXT:
25545 case NAME:
25546 case INTEGER:
25547 case TYPE:
25548 case TEXT:
25549 case VIEWS:
25550 case READ_ONLY:
25551 case DATABASE:
25552 case RETURNS:
25553 case DATEPART:
25554 case PASSWORD:
25555 case BINARY:
25556 case HIDDEN_:
25557 case MOD:
25558 case PARTITION:
25559 case PARTITIONS:
25560 case TOP:
25561 case ROW:
25562 case ROWS:
25563 case XOR:
25564 case ALWAYS:
25565 case ROLE:
25566 case START:
25567 case ALGORITHM:
25568 case AUTO:
25569 case BLOCKERS:
25570 case CLUSTERED:
25571 case NONCLUSTERED:
25572 case COLUMNSTORE:
25573 case CONTENT:
25574 case YEARS:
25575 case MONTHS:
25576 case WEEKS:
25577 case DAYS:
25578 case MINUTES:
25579 case DENY:
25580 case DETERMINISTIC:
25581 case DISTRIBUTION:
25582 case DOCUMENT:
25583 case DURABILITY:
25584 case ENCRYPTED:
25585 case FILESTREAM:
25586 case FILETABLE:
25587 case FILLFACTOR:
25588 case FOLLOWING:
25589 case HASH:
25590 case HEAP:
25591 case INBOUND:
25592 case OUTBOUND:
25593 case UNBOUNDED:
25594 case INFINITE:
25595 case LOGIN:
25596 case MASKED:
25597 case MAXDOP:
25598 case MOVE:
25599 case NOCHECK:
25600 case OBJECT:
25601 case ONLINE:
25602 case OVER:
25603 case PAGE:
25604 case PAUSED:
25605 case PERIOD:
25606 case PERSISTED:
25607 case PRECEDING:
25608 case RANDOMIZED:
25609 case RANGE:
25610 case REBUILD:
25611 case REPLICATE:
25612 case REPLICATION:
25613 case RESUMABLE:
25614 case ROWGUIDCOL:
25615 case SAVE:
25616 case SELF:
25617 case SPARSE:
25618 case SWITCH:
25619 case TRAN:
25620 case TRANCOUNT:
25621 case CONTROL:
25622 case CONCAT:
25623 case TAKE:
25624 case OWNERSHIP:
25625 case DEFINITION:
25626 case APPLICATION:
25627 case ASSEMBLY:
25628 case SYMMETRIC:
25629 case ASYMMETRIC:
25630 case SERVER:
25631 case RECEIVE:
25632 case CHANGE:
25633 case TRACE:
25634 case TRACKING:
25635 case RESOURCES:
25636 case SETTINGS:
25637 case STATE:
25638 case AVAILABILITY:
25639 case CREDENTIAL:
25640 case ENDPOINT:
25641 case EVENT:
25642 case NOTIFICATION:
25643 case LINKED:
25644 case AUDIT:
25645 case DDL:
25646 case XML:
25647 case IMPERSONATE:
25648 case SECURABLES:
25649 case AUTHENTICATE:
25650 case EXTERNAL:
25651 case ACCESS:
25652 case ADMINISTER:
25653 case BULK:
25654 case OPERATIONS:
25655 case UNSAFE:
25656 case SHUTDOWN:
25657 case SCOPED:
25658 case CONFIGURATION:
25659 case DATASPACE:
25660 case SERVICE:
25661 case CERTIFICATE:
25662 case CONTRACT:
25663 case ENCRYPTION:
25664 case MASTER:
25665 case DATA:
25666 case SOURCE:
25667 case FILE:
25668 case FORMAT:
25669 case LIBRARY:
25670 case FULLTEXT:
25671 case MASK:
25672 case UNMASK:
25673 case MESSAGE:
25674 case REMOTE:
25675 case BINDING:
25676 case ROUTE:
25677 case SECURITY:
25678 case POLICY:
25679 case AGGREGATE:
25680 case QUEUE:
25681 case RULE:
25682 case SYNONYM:
25683 case COLLECTION:
25684 case SCRIPT:
25685 case KILL:
25686 case BACKUP:
25687 case LOG:
25688 case SHOWPLAN:
25689 case SUBSCRIBE:
25690 case QUERY:
25691 case NOTIFICATIONS:
25692 case CHECKPOINT:
25693 case SEQUENCE:
25694 case ABORT_AFTER_WAIT:
25695 case ALLOW_PAGE_LOCKS:
25696 case ALLOW_ROW_LOCKS:
25697 case ALL_SPARSE_COLUMNS:
25698 case BUCKET_COUNT:
25699 case COLUMNSTORE_ARCHIVE:
25700 case COLUMN_ENCRYPTION_KEY:
25701 case COLUMN_SET:
25702 case COMPRESSION_DELAY:
25703 case DATABASE_DEAULT:
25704 case DATA_COMPRESSION:
25705 case DATA_CONSISTENCY_CHECK:
25706 case ENCRYPTION_TYPE:
25707 case SYSTEM_TIME:
25708 case SYSTEM_VERSIONING:
25709 case TEXTIMAGE_ON:
25710 case WAIT_AT_LOW_PRIORITY:
25711 case STATISTICS_INCREMENTAL:
25712 case STATISTICS_NORECOMPUTE:
25713 case ROUND_ROBIN:
25714 case SCHEMA_AND_DATA:
25715 case SCHEMA_ONLY:
25716 case SORT_IN_TEMPDB:
25717 case IGNORE_DUP_KEY:
25718 case IMPLICIT_TRANSACTIONS:
25719 case MAX_DURATION:
25720 case MEMORY_OPTIMIZED:
25721 case MIGRATION_STATE:
25722 case PAD_INDEX:
25723 case REMOTE_DATA_ARCHIVE:
25724 case FILESTREAM_ON:
25725 case FILETABLE_COLLATE_FILENAME:
25726 case FILETABLE_DIRECTORY:
25727 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
25728 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
25729 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
25730 case FILTER_PREDICATE:
25731 case HISTORY_RETENTION_PERIOD:
25732 case HISTORY_TABLE:
25733 case LOCK_ESCALATION:
25734 case DROP_EXISTING:
25735 case ROW_NUMBER:
25736 case FIRST:
25737 case DATETIME2:
25738 case OUTPUT:
25739 case INSERTED:
25740 case DELETED:
25741 case FILENAME:
25742 case SIZE:
25743 case MAXSIZE:
25744 case FILEGROWTH:
25745 case UNLIMITED:
25746 case KB:
25747 case MB:
25748 case GB:
25749 case TB:
25750 case CONTAINS:
25751 case MEMORY_OPTIMIZED_DATA:
25752 case FILEGROUP:
25753 case NON_TRANSACTED_ACCESS:
25754 case DB_CHAINING:
25755 case TRUSTWORTHY:
25756 case FORWARD_ONLY:
25757 case KEYSET:
25758 case FAST_FORWARD:
25759 case SCROLL_LOCKS:
25760 case OPTIMISTIC:
25761 case TYPE_WARNING:
25762 case SCHEMABINDING:
25763 case CALLER:
25764 case INPUT:
25765 case OWNER:
25766 case SNAPSHOT:
25767 case REPEATABLE:
25768 case SERIALIZABLE:
25769 case NATIVE_COMPILATION:
25770 case VIEW_METADATA:
25771 case INSTEAD:
25772 case APPEND:
25773 case INCREMENT:
25774 case CACHE:
25775 case MINVALUE:
25776 case MAXVALUE:
25777 case RESTART:
25778 case LOB_COMPACTION:
25779 case COMPRESS_ALL_ROW_GROUPS:
25780 case REORGANIZE:
25781 case RESUME:
25782 case PAUSE:
25783 case ABORT:
25784 case ACCELERATED_DATABASE_RECOVERY:
25785 case PERSISTENT_VERSION_STORE_FILEGROUP:
25786 case IMMEDIATE:
25787 case NO_WAIT:
25788 case TARGET_RECOVERY_TIME:
25789 case SECONDS:
25790 case HONOR_BROKER_PRIORITY:
25791 case ERROR_BROKER_CONVERSATIONS:
25792 case NEW_BROKER:
25793 case DISABLE_BROKER:
25794 case ENABLE_BROKER:
25795 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
25796 case READ_COMMITTED_SNAPSHOT:
25797 case ALLOW_SNAPSHOT_ISOLATION:
25798 case RECURSIVE_TRIGGERS:
25799 case QUOTED_IDENTIFIER:
25800 case NUMERIC_ROUNDABORT:
25801 case CONCAT_NULL_YIELDS_NULL:
25802 case COMPATIBILITY_LEVEL:
25803 case ARITHABORT:
25804 case ANSI_WARNINGS:
25805 case ANSI_PADDING:
25806 case ANSI_NULLS:
25807 case ANSI_NULL_DEFAULT:
25808 case PAGE_VERIFY:
25809 case CHECKSUM:
25810 case TORN_PAGE_DETECTION:
25811 case BULK_LOGGED:
25812 case RECOVERY:
25813 case TOTAL_EXECUTION_CPU_TIME_MS:
25814 case TOTAL_COMPILE_CPU_TIME_MS:
25815 case STALE_CAPTURE_POLICY_THRESHOLD:
25816 case EXECUTION_COUNT:
25817 case QUERY_CAPTURE_POLICY:
25818 case WAIT_STATS_CAPTURE_MODE:
25819 case MAX_PLANS_PER_QUERY:
25820 case QUERY_CAPTURE_MODE:
25821 case SIZE_BASED_CLEANUP_MODE:
25822 case INTERVAL_LENGTH_MINUTES:
25823 case MAX_STORAGE_SIZE_MB:
25824 case DATA_FLUSH_INTERVAL_SECONDS:
25825 case CLEANUP_POLICY:
25826 case CUSTOM:
25827 case STALE_QUERY_THRESHOLD_DAYS:
25828 case OPERATION_MODE:
25829 case QUERY_STORE:
25830 case CURSOR_DEFAULT:
25831 case GLOBAL:
25832 case CURSOR_CLOSE_ON_COMMIT:
25833 case HOURS:
25834 case CHANGE_RETENTION:
25835 case AUTO_CLEANUP:
25836 case CHANGE_TRACKING:
25837 case AUTOMATIC_TUNING:
25838 case FORCE_LAST_GOOD_PLAN:
25839 case AUTO_UPDATE_STATISTICS_ASYNC:
25840 case AUTO_UPDATE_STATISTICS:
25841 case AUTO_SHRINK:
25842 case AUTO_CREATE_STATISTICS:
25843 case INCREMENTAL:
25844 case AUTO_CLOSE:
25845 case DATA_RETENTION:
25846 case TEMPORAL_HISTORY_RETENTION:
25847 case EDITION:
25848 case MIXED_PAGE_ALLOCATION:
25849 case DISABLED:
25850 case ALLOWED:
25851 case HADR:
25852 case MULTI_USER:
25853 case RESTRICTED_USER:
25854 case SINGLE_USER:
25855 case OFFLINE:
25856 case EMERGENCY:
25857 case SUSPEND:
25858 case DATE_CORRELATION_OPTIMIZATION:
25859 case ELASTIC_POOL:
25860 case SERVICE_OBJECTIVE:
25861 case DATABASE_NAME:
25862 case ALLOW_CONNECTIONS:
25863 case GEO:
25864 case NAMED:
25865 case DATEFIRST:
25866 case BACKUP_STORAGE_REDUNDANCY:
25867 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
25868 case SECONDARY:
25869 case FAILOVER:
25870 case DEFAULT_FULLTEXT_LANGUAGE:
25871 case DEFAULT_LANGUAGE:
25872 case INLINE:
25873 case NESTED_TRIGGERS:
25874 case TRANSFORM_NOISE_WORDS:
25875 case TWO_DIGIT_YEAR_CUTOFF:
25876 case PERSISTENT_LOG_BUFFER:
25877 case DIRECTORY_NAME:
25878 case DATEFORMAT:
25879 case DELAYED_DURABILITY:
25880 case AUTHORIZATION:
25881 case TRANSFER:
25882 case PROVIDER:
25883 case SEARCH:
25884 case MEMBER:
25885 case IDENTIFIER_:
25886 case DELIMITED_IDENTIFIER_:
25887 enterOuterAlt(_localctx, 1);
25888 {
25889 setState(3679);
25890 variableTableColumnDefinition();
25891 }
25892 break;
25893 case PRIMARY:
25894 case UNIQUE:
25895 case CHECK:
25896 enterOuterAlt(_localctx, 2);
25897 {
25898 setState(3680);
25899 variableTableConstraint();
25900 }
25901 break;
25902 default:
25903 throw new NoViableAltException(this);
25904 }
25905 }
25906 catch (RecognitionException re) {
25907 _localctx.exception = re;
25908 _errHandler.reportError(this, re);
25909 _errHandler.recover(this, re);
25910 }
25911 finally {
25912 exitRule();
25913 }
25914 return _localctx;
25915 }
25916
25917 public static class VariableTableColumnDefinitionContext extends ParserRuleContext {
25918 public ColumnNameContext columnName() {
25919 return getRuleContext(ColumnNameContext.class,0);
25920 }
25921 public VariableTableColumnConstraintContext variableTableColumnConstraint() {
25922 return getRuleContext(VariableTableColumnConstraintContext.class,0);
25923 }
25924 public DataTypeNameContext dataTypeName() {
25925 return getRuleContext(DataTypeNameContext.class,0);
25926 }
25927 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
25928 public List<ExprContext> expr() {
25929 return getRuleContexts(ExprContext.class);
25930 }
25931 public ExprContext expr(int i) {
25932 return getRuleContext(ExprContext.class,i);
25933 }
25934 public TerminalNode IDENTITY() { return getToken(SQLServerStatementParser.IDENTITY, 0); }
25935 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
25936 public CollationNameContext collationName() {
25937 return getRuleContext(CollationNameContext.class,0);
25938 }
25939 public TerminalNode ROWGUIDCOL() { return getToken(SQLServerStatementParser.ROWGUIDCOL, 0); }
25940 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
25941 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
25942 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
25943 public TerminalNode NUMBER_(int i) {
25944 return getToken(SQLServerStatementParser.NUMBER_, i);
25945 }
25946 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
25947 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
25948 public VariableTableColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
25949 super(parent, invokingState);
25950 }
25951 @Override public int getRuleIndex() { return RULE_variableTableColumnDefinition; }
25952 @Override
25953 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25954 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableTableColumnDefinition(this);
25955 else return visitor.visitChildren(this);
25956 }
25957 }
25958
25959 public final VariableTableColumnDefinitionContext variableTableColumnDefinition() throws RecognitionException {
25960 VariableTableColumnDefinitionContext _localctx = new VariableTableColumnDefinitionContext(_ctx, getState());
25961 enterRule(_localctx, 544, RULE_variableTableColumnDefinition);
25962 int _la;
25963 try {
25964 enterOuterAlt(_localctx, 1);
25965 {
25966 setState(3683);
25967 columnName();
25968 setState(3687);
25969 _errHandler.sync(this);
25970 switch (_input.LA(1)) {
25971 case CHAR:
25972 case DATE:
25973 case TIME:
25974 case INTEGER:
25975 case REAL:
25976 case DECIMAL:
25977 case BIT:
25978 case SMALLINT:
25979 case INT:
25980 case TINYINT:
25981 case NUMERIC:
25982 case FLOAT:
25983 case BIGINT:
25984 case TEXT:
25985 case VARCHAR:
25986 case BINARY:
25987 case XML:
25988 case MONEY:
25989 case SMALLMONEY:
25990 case DATETIMEOFFSET:
25991 case DATETIME:
25992 case DATETIME2:
25993 case SMALLDATETIME:
25994 case NCHAR:
25995 case NVARCHAR:
25996 case NTEXT:
25997 case VARBINARY:
25998 case IMAGE:
25999 case SQL_VARIANT:
26000 case UNIQUEIDENTIFIER:
26001 case HIERARCHYID:
26002 case GEOMETRY:
26003 case GEOGRAPHY:
26004 case IDENTIFIER_:
26005 {
26006 setState(3684);
26007 dataTypeName();
26008 }
26009 break;
26010 case AS:
26011 {
26012 setState(3685);
26013 match(AS);
26014 setState(3686);
26015 expr(0);
26016 }
26017 break;
26018 default:
26019 throw new NoViableAltException(this);
26020 }
26021 setState(3691);
26022 _errHandler.sync(this);
26023 _la = _input.LA(1);
26024 if (_la==COLLATE) {
26025 {
26026 setState(3689);
26027 match(COLLATE);
26028 setState(3690);
26029 collationName();
26030 }
26031 }
26032
26033 setState(3705);
26034 _errHandler.sync(this);
26035 switch (_input.LA(1)) {
26036 case RP_:
26037 case COMMA_:
26038 case PRIMARY:
26039 case UNIQUE:
26040 case WITH:
26041 case NOT:
26042 case NULL:
26043 case DEFAULT:
26044 case CHECK:
26045 case ROWGUIDCOL:
26046 {
26047 setState(3695);
26048 _errHandler.sync(this);
26049 _la = _input.LA(1);
26050 if (_la==DEFAULT) {
26051 {
26052 setState(3693);
26053 match(DEFAULT);
26054 setState(3694);
26055 expr(0);
26056 }
26057 }
26058
26059 }
26060 break;
26061 case IDENTITY:
26062 {
26063 setState(3697);
26064 match(IDENTITY);
26065 setState(3703);
26066 _errHandler.sync(this);
26067 _la = _input.LA(1);
26068 if (_la==LP_) {
26069 {
26070 setState(3698);
26071 match(LP_);
26072 setState(3699);
26073 match(NUMBER_);
26074 setState(3700);
26075 match(COMMA_);
26076 setState(3701);
26077 match(NUMBER_);
26078 setState(3702);
26079 match(RP_);
26080 }
26081 }
26082
26083 }
26084 break;
26085 default:
26086 throw new NoViableAltException(this);
26087 }
26088 setState(3708);
26089 _errHandler.sync(this);
26090 _la = _input.LA(1);
26091 if (_la==ROWGUIDCOL) {
26092 {
26093 setState(3707);
26094 match(ROWGUIDCOL);
26095 }
26096 }
26097
26098 setState(3710);
26099 variableTableColumnConstraint();
26100 }
26101 }
26102 catch (RecognitionException re) {
26103 _localctx.exception = re;
26104 _errHandler.reportError(this, re);
26105 _errHandler.recover(this, re);
26106 }
26107 finally {
26108 exitRule();
26109 }
26110 return _localctx;
26111 }
26112
26113 public static class VariableTableColumnConstraintContext extends ParserRuleContext {
26114 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
26115 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
26116 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
26117 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
26118 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
26119 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
26120 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
26121 public ExprContext expr() {
26122 return getRuleContext(ExprContext.class,0);
26123 }
26124 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
26125 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
26126 public IndexOptionContext indexOption() {
26127 return getRuleContext(IndexOptionContext.class,0);
26128 }
26129 public VariableTableColumnConstraintContext(ParserRuleContext parent, int invokingState) {
26130 super(parent, invokingState);
26131 }
26132 @Override public int getRuleIndex() { return RULE_variableTableColumnConstraint; }
26133 @Override
26134 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26135 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableTableColumnConstraint(this);
26136 else return visitor.visitChildren(this);
26137 }
26138 }
26139
26140 public final VariableTableColumnConstraintContext variableTableColumnConstraint() throws RecognitionException {
26141 VariableTableColumnConstraintContext _localctx = new VariableTableColumnConstraintContext(_ctx, getState());
26142 enterRule(_localctx, 546, RULE_variableTableColumnConstraint);
26143 try {
26144 setState(3729);
26145 _errHandler.sync(this);
26146 switch ( getInterpreter().adaptivePredict(_input,368,_ctx) ) {
26147 case 1:
26148 enterOuterAlt(_localctx, 1);
26149 {
26150 setState(3715);
26151 _errHandler.sync(this);
26152 switch (_input.LA(1)) {
26153 case NULL:
26154 {
26155 setState(3712);
26156 match(NULL);
26157 }
26158 break;
26159 case NOT:
26160 {
26161 setState(3713);
26162 match(NOT);
26163 setState(3714);
26164 match(NULL);
26165 }
26166 break;
26167 case RP_:
26168 case COMMA_:
26169 break;
26170 default:
26171 break;
26172 }
26173 }
26174 break;
26175 case 2:
26176 enterOuterAlt(_localctx, 2);
26177 {
26178 setState(3720);
26179 _errHandler.sync(this);
26180 switch (_input.LA(1)) {
26181 case PRIMARY:
26182 {
26183 setState(3717);
26184 match(PRIMARY);
26185 setState(3718);
26186 match(KEY);
26187 }
26188 break;
26189 case UNIQUE:
26190 {
26191 setState(3719);
26192 match(UNIQUE);
26193 }
26194 break;
26195 case RP_:
26196 case COMMA_:
26197 break;
26198 default:
26199 break;
26200 }
26201 }
26202 break;
26203 case 3:
26204 enterOuterAlt(_localctx, 3);
26205 {
26206 setState(3722);
26207 match(CHECK);
26208 setState(3723);
26209 match(LP_);
26210 setState(3724);
26211 expr(0);
26212 setState(3725);
26213 match(RP_);
26214 }
26215 break;
26216 case 4:
26217 enterOuterAlt(_localctx, 4);
26218 {
26219 setState(3727);
26220 match(WITH);
26221 setState(3728);
26222 indexOption();
26223 }
26224 break;
26225 }
26226 }
26227 catch (RecognitionException re) {
26228 _localctx.exception = re;
26229 _errHandler.reportError(this, re);
26230 _errHandler.recover(this, re);
26231 }
26232 finally {
26233 exitRule();
26234 }
26235 return _localctx;
26236 }
26237
26238 public static class VariableTableConstraintContext extends ParserRuleContext {
26239 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
26240 public List<ColumnNameContext> columnName() {
26241 return getRuleContexts(ColumnNameContext.class);
26242 }
26243 public ColumnNameContext columnName(int i) {
26244 return getRuleContext(ColumnNameContext.class,i);
26245 }
26246 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
26247 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
26248 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
26249 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
26250 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
26251 public TerminalNode COMMA_(int i) {
26252 return getToken(SQLServerStatementParser.COMMA_, i);
26253 }
26254 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
26255 public ExprContext expr() {
26256 return getRuleContext(ExprContext.class,0);
26257 }
26258 public VariableTableConstraintContext(ParserRuleContext parent, int invokingState) {
26259 super(parent, invokingState);
26260 }
26261 @Override public int getRuleIndex() { return RULE_variableTableConstraint; }
26262 @Override
26263 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26264 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableTableConstraint(this);
26265 else return visitor.visitChildren(this);
26266 }
26267 }
26268
26269 public final VariableTableConstraintContext variableTableConstraint() throws RecognitionException {
26270 VariableTableConstraintContext _localctx = new VariableTableConstraintContext(_ctx, getState());
26271 enterRule(_localctx, 548, RULE_variableTableConstraint);
26272 int _la;
26273 try {
26274 setState(3749);
26275 _errHandler.sync(this);
26276 switch (_input.LA(1)) {
26277 case PRIMARY:
26278 case UNIQUE:
26279 enterOuterAlt(_localctx, 1);
26280 {
26281 setState(3734);
26282 _errHandler.sync(this);
26283 switch (_input.LA(1)) {
26284 case PRIMARY:
26285 {
26286 setState(3731);
26287 match(PRIMARY);
26288 setState(3732);
26289 match(KEY);
26290 }
26291 break;
26292 case UNIQUE:
26293 {
26294 setState(3733);
26295 match(UNIQUE);
26296 }
26297 break;
26298 default:
26299 throw new NoViableAltException(this);
26300 }
26301 setState(3736);
26302 match(LP_);
26303 setState(3737);
26304 columnName();
26305 setState(3742);
26306 _errHandler.sync(this);
26307 _la = _input.LA(1);
26308 while (_la==COMMA_) {
26309 {
26310 {
26311 setState(3738);
26312 match(COMMA_);
26313 setState(3739);
26314 columnName();
26315 }
26316 }
26317 setState(3744);
26318 _errHandler.sync(this);
26319 _la = _input.LA(1);
26320 }
26321 setState(3745);
26322 match(RP_);
26323 }
26324 break;
26325 case CHECK:
26326 enterOuterAlt(_localctx, 2);
26327 {
26328 setState(3747);
26329 match(CHECK);
26330 setState(3748);
26331 expr(0);
26332 }
26333 break;
26334 default:
26335 throw new NoViableAltException(this);
26336 }
26337 }
26338 catch (RecognitionException re) {
26339 _localctx.exception = re;
26340 _errHandler.reportError(this, re);
26341 _errHandler.recover(this, re);
26342 }
26343 finally {
26344 exitRule();
26345 }
26346 return _localctx;
26347 }
26348
26349 public static class SetVariableContext extends ParserRuleContext {
26350 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
26351 public VariableNameContext variableName() {
26352 return getRuleContext(VariableNameContext.class,0);
26353 }
26354 public SetVariableClauseContext setVariableClause() {
26355 return getRuleContext(SetVariableClauseContext.class,0);
26356 }
26357 public SetVariableContext(ParserRuleContext parent, int invokingState) {
26358 super(parent, invokingState);
26359 }
26360 @Override public int getRuleIndex() { return RULE_setVariable; }
26361 @Override
26362 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26363 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetVariable(this);
26364 else return visitor.visitChildren(this);
26365 }
26366 }
26367
26368 public final SetVariableContext setVariable() throws RecognitionException {
26369 SetVariableContext _localctx = new SetVariableContext(_ctx, getState());
26370 enterRule(_localctx, 550, RULE_setVariable);
26371 try {
26372 enterOuterAlt(_localctx, 1);
26373 {
26374 setState(3751);
26375 match(SET);
26376 setState(3752);
26377 variableName();
26378 setState(3753);
26379 setVariableClause();
26380 }
26381 }
26382 catch (RecognitionException re) {
26383 _localctx.exception = re;
26384 _errHandler.reportError(this, re);
26385 _errHandler.recover(this, re);
26386 }
26387 finally {
26388 exitRule();
26389 }
26390 return _localctx;
26391 }
26392
26393 public static class SetVariableClauseContext extends ParserRuleContext {
26394 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
26395 public ExprContext expr() {
26396 return getRuleContext(ExprContext.class,0);
26397 }
26398 public List<IdentifierContext> identifier() {
26399 return getRuleContexts(IdentifierContext.class);
26400 }
26401 public IdentifierContext identifier(int i) {
26402 return getRuleContext(IdentifierContext.class,i);
26403 }
26404 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
26405 public TerminalNode DOT_(int i) {
26406 return getToken(SQLServerStatementParser.DOT_, i);
26407 }
26408 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
26409 public CompoundOperationContext compoundOperation() {
26410 return getRuleContext(CompoundOperationContext.class,0);
26411 }
26412 public CursorVariableContext cursorVariable() {
26413 return getRuleContext(CursorVariableContext.class,0);
26414 }
26415 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
26416 public SelectContext select() {
26417 return getRuleContext(SelectContext.class,0);
26418 }
26419 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
26420 public SetVariableClauseContext(ParserRuleContext parent, int invokingState) {
26421 super(parent, invokingState);
26422 }
26423 @Override public int getRuleIndex() { return RULE_setVariableClause; }
26424 @Override
26425 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26426 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetVariableClause(this);
26427 else return visitor.visitChildren(this);
26428 }
26429 }
26430
26431 public final SetVariableClauseContext setVariableClause() throws RecognitionException {
26432 SetVariableClauseContext _localctx = new SetVariableClauseContext(_ctx, getState());
26433 enterRule(_localctx, 552, RULE_setVariableClause);
26434 int _la;
26435 try {
26436 setState(3778);
26437 _errHandler.sync(this);
26438 switch ( getInterpreter().adaptivePredict(_input,374,_ctx) ) {
26439 case 1:
26440 enterOuterAlt(_localctx, 1);
26441 {
26442 setState(3757);
26443 _errHandler.sync(this);
26444 _la = _input.LA(1);
26445 if (_la==DOT_) {
26446 {
26447 setState(3755);
26448 match(DOT_);
26449 setState(3756);
26450 identifier();
26451 }
26452 }
26453
26454 setState(3759);
26455 match(EQ_);
26456 setState(3766);
26457 _errHandler.sync(this);
26458 switch ( getInterpreter().adaptivePredict(_input,373,_ctx) ) {
26459 case 1:
26460 {
26461 setState(3760);
26462 expr(0);
26463 }
26464 break;
26465 case 2:
26466 {
26467 setState(3761);
26468 identifier();
26469 setState(3762);
26470 match(DOT_);
26471 setState(3763);
26472 identifier();
26473 }
26474 break;
26475 case 3:
26476 {
26477 setState(3765);
26478 match(NCHAR_TEXT);
26479 }
26480 break;
26481 }
26482 }
26483 break;
26484 case 2:
26485 enterOuterAlt(_localctx, 2);
26486 {
26487 setState(3768);
26488 compoundOperation();
26489 setState(3769);
26490 expr(0);
26491 }
26492 break;
26493 case 3:
26494 enterOuterAlt(_localctx, 3);
26495 {
26496 setState(3771);
26497 match(EQ_);
26498 setState(3772);
26499 cursorVariable();
26500 }
26501 break;
26502 case 4:
26503 enterOuterAlt(_localctx, 4);
26504 {
26505 setState(3773);
26506 match(EQ_);
26507 setState(3774);
26508 match(LP_);
26509 setState(3775);
26510 select();
26511 setState(3776);
26512 match(RP_);
26513 }
26514 break;
26515 }
26516 }
26517 catch (RecognitionException re) {
26518 _localctx.exception = re;
26519 _errHandler.reportError(this, re);
26520 _errHandler.recover(this, re);
26521 }
26522 finally {
26523 exitRule();
26524 }
26525 return _localctx;
26526 }
26527
26528 public static class CursorVariableContext extends ParserRuleContext {
26529 public VariableNameContext variableName() {
26530 return getRuleContext(VariableNameContext.class,0);
26531 }
26532 public TerminalNode CURSOR() { return getToken(SQLServerStatementParser.CURSOR, 0); }
26533 public CursorClauseContext cursorClause() {
26534 return getRuleContext(CursorClauseContext.class,0);
26535 }
26536 public List<TerminalNode> FOR() { return getTokens(SQLServerStatementParser.FOR); }
26537 public TerminalNode FOR(int i) {
26538 return getToken(SQLServerStatementParser.FOR, i);
26539 }
26540 public SelectContext select() {
26541 return getRuleContext(SelectContext.class,0);
26542 }
26543 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
26544 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
26545 public TerminalNode OF() { return getToken(SQLServerStatementParser.OF, 0); }
26546 public List<NameContext> name() {
26547 return getRuleContexts(NameContext.class);
26548 }
26549 public NameContext name(int i) {
26550 return getRuleContext(NameContext.class,i);
26551 }
26552 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
26553 public TerminalNode COMMA_(int i) {
26554 return getToken(SQLServerStatementParser.COMMA_, i);
26555 }
26556 public CursorVariableContext(ParserRuleContext parent, int invokingState) {
26557 super(parent, invokingState);
26558 }
26559 @Override public int getRuleIndex() { return RULE_cursorVariable; }
26560 @Override
26561 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26562 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCursorVariable(this);
26563 else return visitor.visitChildren(this);
26564 }
26565 }
26566
26567 public final CursorVariableContext cursorVariable() throws RecognitionException {
26568 CursorVariableContext _localctx = new CursorVariableContext(_ctx, getState());
26569 enterRule(_localctx, 554, RULE_cursorVariable);
26570 int _la;
26571 try {
26572 setState(3799);
26573 _errHandler.sync(this);
26574 switch (_input.LA(1)) {
26575 case TRUNCATE:
26576 case SCHEMA:
26577 case COLUMNS:
26578 case PRECISION:
26579 case FUNCTION:
26580 case TRIGGER:
26581 case CAST:
26582 case TRIM:
26583 case SUBSTRING:
26584 case OFF:
26585 case GROUP:
26586 case LIMIT:
26587 case OFFSET:
26588 case SAVEPOINT:
26589 case BOOLEAN:
26590 case ARRAY:
26591 case DATE:
26592 case TIMESTAMP:
26593 case LOCALTIME:
26594 case LOCALTIMESTAMP:
26595 case YEAR:
26596 case QUARTER:
26597 case MONTH:
26598 case WEEK:
26599 case DAY:
26600 case SECOND:
26601 case MICROSECOND:
26602 case MAX:
26603 case MIN:
26604 case SUM:
26605 case COUNT:
26606 case AVG:
26607 case ENABLE:
26608 case DISABLE:
26609 case INSTANCE:
26610 case DO:
26611 case DEFINER:
26612 case SQL:
26613 case CASCADED:
26614 case LOCAL:
26615 case NEXT:
26616 case NAME:
26617 case INTEGER:
26618 case TYPE:
26619 case TEXT:
26620 case VIEWS:
26621 case READ_ONLY:
26622 case DATABASE:
26623 case RETURNS:
26624 case DATEPART:
26625 case PASSWORD:
26626 case BINARY:
26627 case HIDDEN_:
26628 case MOD:
26629 case PARTITION:
26630 case PARTITIONS:
26631 case TOP:
26632 case ROW:
26633 case ROWS:
26634 case XOR:
26635 case ALWAYS:
26636 case ROLE:
26637 case START:
26638 case ALGORITHM:
26639 case AUTO:
26640 case BLOCKERS:
26641 case CLUSTERED:
26642 case NONCLUSTERED:
26643 case COLUMNSTORE:
26644 case CONTENT:
26645 case YEARS:
26646 case MONTHS:
26647 case WEEKS:
26648 case DAYS:
26649 case MINUTES:
26650 case DENY:
26651 case DETERMINISTIC:
26652 case DISTRIBUTION:
26653 case DOCUMENT:
26654 case DURABILITY:
26655 case ENCRYPTED:
26656 case FILESTREAM:
26657 case FILETABLE:
26658 case FILLFACTOR:
26659 case FOLLOWING:
26660 case HASH:
26661 case HEAP:
26662 case INBOUND:
26663 case OUTBOUND:
26664 case UNBOUNDED:
26665 case INFINITE:
26666 case LOGIN:
26667 case MASKED:
26668 case MAXDOP:
26669 case MOVE:
26670 case NOCHECK:
26671 case OBJECT:
26672 case ONLINE:
26673 case OVER:
26674 case PAGE:
26675 case PAUSED:
26676 case PERIOD:
26677 case PERSISTED:
26678 case PRECEDING:
26679 case RANDOMIZED:
26680 case RANGE:
26681 case REBUILD:
26682 case REPLICATE:
26683 case REPLICATION:
26684 case RESUMABLE:
26685 case ROWGUIDCOL:
26686 case SAVE:
26687 case SELF:
26688 case SPARSE:
26689 case SWITCH:
26690 case TRAN:
26691 case TRANCOUNT:
26692 case CONTROL:
26693 case CONCAT:
26694 case TAKE:
26695 case OWNERSHIP:
26696 case DEFINITION:
26697 case APPLICATION:
26698 case ASSEMBLY:
26699 case SYMMETRIC:
26700 case ASYMMETRIC:
26701 case SERVER:
26702 case RECEIVE:
26703 case CHANGE:
26704 case TRACE:
26705 case TRACKING:
26706 case RESOURCES:
26707 case SETTINGS:
26708 case STATE:
26709 case AVAILABILITY:
26710 case CREDENTIAL:
26711 case ENDPOINT:
26712 case EVENT:
26713 case NOTIFICATION:
26714 case LINKED:
26715 case AUDIT:
26716 case DDL:
26717 case XML:
26718 case IMPERSONATE:
26719 case SECURABLES:
26720 case AUTHENTICATE:
26721 case EXTERNAL:
26722 case ACCESS:
26723 case ADMINISTER:
26724 case BULK:
26725 case OPERATIONS:
26726 case UNSAFE:
26727 case SHUTDOWN:
26728 case SCOPED:
26729 case CONFIGURATION:
26730 case DATASPACE:
26731 case SERVICE:
26732 case CERTIFICATE:
26733 case CONTRACT:
26734 case ENCRYPTION:
26735 case MASTER:
26736 case DATA:
26737 case SOURCE:
26738 case FILE:
26739 case FORMAT:
26740 case LIBRARY:
26741 case FULLTEXT:
26742 case MASK:
26743 case UNMASK:
26744 case MESSAGE:
26745 case REMOTE:
26746 case BINDING:
26747 case ROUTE:
26748 case SECURITY:
26749 case POLICY:
26750 case AGGREGATE:
26751 case QUEUE:
26752 case RULE:
26753 case SYNONYM:
26754 case COLLECTION:
26755 case SCRIPT:
26756 case KILL:
26757 case BACKUP:
26758 case LOG:
26759 case SHOWPLAN:
26760 case SUBSCRIBE:
26761 case QUERY:
26762 case NOTIFICATIONS:
26763 case CHECKPOINT:
26764 case SEQUENCE:
26765 case ABORT_AFTER_WAIT:
26766 case ALLOW_PAGE_LOCKS:
26767 case ALLOW_ROW_LOCKS:
26768 case ALL_SPARSE_COLUMNS:
26769 case BUCKET_COUNT:
26770 case COLUMNSTORE_ARCHIVE:
26771 case COLUMN_ENCRYPTION_KEY:
26772 case COLUMN_SET:
26773 case COMPRESSION_DELAY:
26774 case DATABASE_DEAULT:
26775 case DATA_COMPRESSION:
26776 case DATA_CONSISTENCY_CHECK:
26777 case ENCRYPTION_TYPE:
26778 case SYSTEM_TIME:
26779 case SYSTEM_VERSIONING:
26780 case TEXTIMAGE_ON:
26781 case WAIT_AT_LOW_PRIORITY:
26782 case STATISTICS_INCREMENTAL:
26783 case STATISTICS_NORECOMPUTE:
26784 case ROUND_ROBIN:
26785 case SCHEMA_AND_DATA:
26786 case SCHEMA_ONLY:
26787 case SORT_IN_TEMPDB:
26788 case IGNORE_DUP_KEY:
26789 case IMPLICIT_TRANSACTIONS:
26790 case MAX_DURATION:
26791 case MEMORY_OPTIMIZED:
26792 case MIGRATION_STATE:
26793 case PAD_INDEX:
26794 case REMOTE_DATA_ARCHIVE:
26795 case FILESTREAM_ON:
26796 case FILETABLE_COLLATE_FILENAME:
26797 case FILETABLE_DIRECTORY:
26798 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
26799 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
26800 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
26801 case FILTER_PREDICATE:
26802 case HISTORY_RETENTION_PERIOD:
26803 case HISTORY_TABLE:
26804 case LOCK_ESCALATION:
26805 case DROP_EXISTING:
26806 case ROW_NUMBER:
26807 case FIRST:
26808 case DATETIME2:
26809 case OUTPUT:
26810 case INSERTED:
26811 case DELETED:
26812 case FILENAME:
26813 case SIZE:
26814 case MAXSIZE:
26815 case FILEGROWTH:
26816 case UNLIMITED:
26817 case KB:
26818 case MB:
26819 case GB:
26820 case TB:
26821 case CONTAINS:
26822 case MEMORY_OPTIMIZED_DATA:
26823 case FILEGROUP:
26824 case NON_TRANSACTED_ACCESS:
26825 case DB_CHAINING:
26826 case TRUSTWORTHY:
26827 case FORWARD_ONLY:
26828 case KEYSET:
26829 case FAST_FORWARD:
26830 case SCROLL_LOCKS:
26831 case OPTIMISTIC:
26832 case TYPE_WARNING:
26833 case SCHEMABINDING:
26834 case CALLER:
26835 case INPUT:
26836 case OWNER:
26837 case SNAPSHOT:
26838 case REPEATABLE:
26839 case SERIALIZABLE:
26840 case NATIVE_COMPILATION:
26841 case VIEW_METADATA:
26842 case INSTEAD:
26843 case APPEND:
26844 case INCREMENT:
26845 case CACHE:
26846 case MINVALUE:
26847 case MAXVALUE:
26848 case RESTART:
26849 case LOB_COMPACTION:
26850 case COMPRESS_ALL_ROW_GROUPS:
26851 case REORGANIZE:
26852 case RESUME:
26853 case PAUSE:
26854 case ABORT:
26855 case ACCELERATED_DATABASE_RECOVERY:
26856 case PERSISTENT_VERSION_STORE_FILEGROUP:
26857 case IMMEDIATE:
26858 case NO_WAIT:
26859 case TARGET_RECOVERY_TIME:
26860 case SECONDS:
26861 case HONOR_BROKER_PRIORITY:
26862 case ERROR_BROKER_CONVERSATIONS:
26863 case NEW_BROKER:
26864 case DISABLE_BROKER:
26865 case ENABLE_BROKER:
26866 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
26867 case READ_COMMITTED_SNAPSHOT:
26868 case ALLOW_SNAPSHOT_ISOLATION:
26869 case RECURSIVE_TRIGGERS:
26870 case QUOTED_IDENTIFIER:
26871 case NUMERIC_ROUNDABORT:
26872 case CONCAT_NULL_YIELDS_NULL:
26873 case COMPATIBILITY_LEVEL:
26874 case ARITHABORT:
26875 case ANSI_WARNINGS:
26876 case ANSI_PADDING:
26877 case ANSI_NULLS:
26878 case ANSI_NULL_DEFAULT:
26879 case PAGE_VERIFY:
26880 case CHECKSUM:
26881 case TORN_PAGE_DETECTION:
26882 case BULK_LOGGED:
26883 case RECOVERY:
26884 case TOTAL_EXECUTION_CPU_TIME_MS:
26885 case TOTAL_COMPILE_CPU_TIME_MS:
26886 case STALE_CAPTURE_POLICY_THRESHOLD:
26887 case EXECUTION_COUNT:
26888 case QUERY_CAPTURE_POLICY:
26889 case WAIT_STATS_CAPTURE_MODE:
26890 case MAX_PLANS_PER_QUERY:
26891 case QUERY_CAPTURE_MODE:
26892 case SIZE_BASED_CLEANUP_MODE:
26893 case INTERVAL_LENGTH_MINUTES:
26894 case MAX_STORAGE_SIZE_MB:
26895 case DATA_FLUSH_INTERVAL_SECONDS:
26896 case CLEANUP_POLICY:
26897 case CUSTOM:
26898 case STALE_QUERY_THRESHOLD_DAYS:
26899 case OPERATION_MODE:
26900 case QUERY_STORE:
26901 case CURSOR_DEFAULT:
26902 case GLOBAL:
26903 case CURSOR_CLOSE_ON_COMMIT:
26904 case HOURS:
26905 case CHANGE_RETENTION:
26906 case AUTO_CLEANUP:
26907 case CHANGE_TRACKING:
26908 case AUTOMATIC_TUNING:
26909 case FORCE_LAST_GOOD_PLAN:
26910 case AUTO_UPDATE_STATISTICS_ASYNC:
26911 case AUTO_UPDATE_STATISTICS:
26912 case AUTO_SHRINK:
26913 case AUTO_CREATE_STATISTICS:
26914 case INCREMENTAL:
26915 case AUTO_CLOSE:
26916 case DATA_RETENTION:
26917 case TEMPORAL_HISTORY_RETENTION:
26918 case EDITION:
26919 case MIXED_PAGE_ALLOCATION:
26920 case DISABLED:
26921 case ALLOWED:
26922 case HADR:
26923 case MULTI_USER:
26924 case RESTRICTED_USER:
26925 case SINGLE_USER:
26926 case OFFLINE:
26927 case EMERGENCY:
26928 case SUSPEND:
26929 case DATE_CORRELATION_OPTIMIZATION:
26930 case ELASTIC_POOL:
26931 case SERVICE_OBJECTIVE:
26932 case DATABASE_NAME:
26933 case ALLOW_CONNECTIONS:
26934 case GEO:
26935 case NAMED:
26936 case DATEFIRST:
26937 case BACKUP_STORAGE_REDUNDANCY:
26938 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
26939 case SECONDARY:
26940 case FAILOVER:
26941 case DEFAULT_FULLTEXT_LANGUAGE:
26942 case DEFAULT_LANGUAGE:
26943 case INLINE:
26944 case NESTED_TRIGGERS:
26945 case TRANSFORM_NOISE_WORDS:
26946 case TWO_DIGIT_YEAR_CUTOFF:
26947 case PERSISTENT_LOG_BUFFER:
26948 case DIRECTORY_NAME:
26949 case DATEFORMAT:
26950 case DELAYED_DURABILITY:
26951 case AUTHORIZATION:
26952 case TRANSFER:
26953 case PROVIDER:
26954 case SEARCH:
26955 case MEMBER:
26956 case IDENTIFIER_:
26957 case DELIMITED_IDENTIFIER_:
26958 enterOuterAlt(_localctx, 1);
26959 {
26960 setState(3780);
26961 variableName();
26962 }
26963 break;
26964 case CURSOR:
26965 enterOuterAlt(_localctx, 2);
26966 {
26967 setState(3781);
26968 match(CURSOR);
26969 setState(3782);
26970 cursorClause();
26971 setState(3783);
26972 match(FOR);
26973 setState(3784);
26974 select();
26975 {
26976 setState(3785);
26977 match(FOR);
26978 setState(3797);
26979 _errHandler.sync(this);
26980 switch (_input.LA(1)) {
26981 case READ_ONLY:
26982 {
26983 setState(3786);
26984 match(READ_ONLY);
26985 }
26986 break;
26987 case UPDATE:
26988 {
26989 setState(3787);
26990 match(UPDATE);
26991 {
26992 setState(3788);
26993 match(OF);
26994 setState(3789);
26995 name();
26996 setState(3794);
26997 _errHandler.sync(this);
26998 _la = _input.LA(1);
26999 while (_la==COMMA_) {
27000 {
27001 {
27002 setState(3790);
27003 match(COMMA_);
27004 setState(3791);
27005 name();
27006 }
27007 }
27008 setState(3796);
27009 _errHandler.sync(this);
27010 _la = _input.LA(1);
27011 }
27012 }
27013 }
27014 break;
27015 default:
27016 throw new NoViableAltException(this);
27017 }
27018 }
27019 }
27020 break;
27021 default:
27022 throw new NoViableAltException(this);
27023 }
27024 }
27025 catch (RecognitionException re) {
27026 _localctx.exception = re;
27027 _errHandler.reportError(this, re);
27028 _errHandler.recover(this, re);
27029 }
27030 finally {
27031 exitRule();
27032 }
27033 return _localctx;
27034 }
27035
27036 public static class CursorClauseContext extends ParserRuleContext {
27037 public TerminalNode TYPE_WARNING() { return getToken(SQLServerStatementParser.TYPE_WARNING, 0); }
27038 public TerminalNode FORWARD_ONLY() { return getToken(SQLServerStatementParser.FORWARD_ONLY, 0); }
27039 public TerminalNode SCROLL() { return getToken(SQLServerStatementParser.SCROLL, 0); }
27040 public TerminalNode STATIC() { return getToken(SQLServerStatementParser.STATIC, 0); }
27041 public TerminalNode KEYSET() { return getToken(SQLServerStatementParser.KEYSET, 0); }
27042 public TerminalNode DYNAMIC() { return getToken(SQLServerStatementParser.DYNAMIC, 0); }
27043 public TerminalNode FAST_FORWARD() { return getToken(SQLServerStatementParser.FAST_FORWARD, 0); }
27044 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
27045 public TerminalNode SCROLL_LOCKS() { return getToken(SQLServerStatementParser.SCROLL_LOCKS, 0); }
27046 public TerminalNode OPTIMISTIC() { return getToken(SQLServerStatementParser.OPTIMISTIC, 0); }
27047 public CursorClauseContext(ParserRuleContext parent, int invokingState) {
27048 super(parent, invokingState);
27049 }
27050 @Override public int getRuleIndex() { return RULE_cursorClause; }
27051 @Override
27052 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27053 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCursorClause(this);
27054 else return visitor.visitChildren(this);
27055 }
27056 }
27057
27058 public final CursorClauseContext cursorClause() throws RecognitionException {
27059 CursorClauseContext _localctx = new CursorClauseContext(_ctx, getState());
27060 enterRule(_localctx, 556, RULE_cursorClause);
27061 int _la;
27062 try {
27063 enterOuterAlt(_localctx, 1);
27064 {
27065 setState(3802);
27066 _errHandler.sync(this);
27067 _la = _input.LA(1);
27068 if (_la==FORWARD_ONLY || _la==SCROLL) {
27069 {
27070 setState(3801);
27071 _la = _input.LA(1);
27072 if ( !(_la==FORWARD_ONLY || _la==SCROLL) ) {
27073 _errHandler.recoverInline(this);
27074 }
27075 else {
27076 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27077 _errHandler.reportMatch(this);
27078 consume();
27079 }
27080 }
27081 }
27082
27083 setState(3805);
27084 _errHandler.sync(this);
27085 _la = _input.LA(1);
27086 if (((((_la - 521)) & ~0x3f) == 0 && ((1L << (_la - 521)) & ((1L << (STATIC - 521)) | (1L << (KEYSET - 521)) | (1L << (DYNAMIC - 521)) | (1L << (FAST_FORWARD - 521)))) != 0)) {
27087 {
27088 setState(3804);
27089 _la = _input.LA(1);
27090 if ( !(((((_la - 521)) & ~0x3f) == 0 && ((1L << (_la - 521)) & ((1L << (STATIC - 521)) | (1L << (KEYSET - 521)) | (1L << (DYNAMIC - 521)) | (1L << (FAST_FORWARD - 521)))) != 0)) ) {
27091 _errHandler.recoverInline(this);
27092 }
27093 else {
27094 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27095 _errHandler.reportMatch(this);
27096 consume();
27097 }
27098 }
27099 }
27100
27101 setState(3808);
27102 _errHandler.sync(this);
27103 _la = _input.LA(1);
27104 if (_la==READ_ONLY || _la==SCROLL_LOCKS || _la==OPTIMISTIC) {
27105 {
27106 setState(3807);
27107 _la = _input.LA(1);
27108 if ( !(_la==READ_ONLY || _la==SCROLL_LOCKS || _la==OPTIMISTIC) ) {
27109 _errHandler.recoverInline(this);
27110 }
27111 else {
27112 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27113 _errHandler.reportMatch(this);
27114 consume();
27115 }
27116 }
27117 }
27118
27119 setState(3811);
27120 _errHandler.sync(this);
27121 _la = _input.LA(1);
27122 if (_la==TYPE_WARNING) {
27123 {
27124 setState(3810);
27125 match(TYPE_WARNING);
27126 }
27127 }
27128
27129 }
27130 }
27131 catch (RecognitionException re) {
27132 _localctx.exception = re;
27133 _errHandler.reportError(this, re);
27134 _errHandler.recover(this, re);
27135 }
27136 finally {
27137 exitRule();
27138 }
27139 return _localctx;
27140 }
27141
27142 public static class CompoundOperationContext extends ParserRuleContext {
27143 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
27144 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
27145 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
27146 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
27147 public TerminalNode SLASH_() { return getToken(SQLServerStatementParser.SLASH_, 0); }
27148 public TerminalNode MOD_() { return getToken(SQLServerStatementParser.MOD_, 0); }
27149 public TerminalNode AMPERSAND_() { return getToken(SQLServerStatementParser.AMPERSAND_, 0); }
27150 public TerminalNode CARET_() { return getToken(SQLServerStatementParser.CARET_, 0); }
27151 public TerminalNode VERTICAL_BAR_() { return getToken(SQLServerStatementParser.VERTICAL_BAR_, 0); }
27152 public CompoundOperationContext(ParserRuleContext parent, int invokingState) {
27153 super(parent, invokingState);
27154 }
27155 @Override public int getRuleIndex() { return RULE_compoundOperation; }
27156 @Override
27157 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27158 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCompoundOperation(this);
27159 else return visitor.visitChildren(this);
27160 }
27161 }
27162
27163 public final CompoundOperationContext compoundOperation() throws RecognitionException {
27164 CompoundOperationContext _localctx = new CompoundOperationContext(_ctx, getState());
27165 enterRule(_localctx, 558, RULE_compoundOperation);
27166 try {
27167 setState(3829);
27168 _errHandler.sync(this);
27169 switch (_input.LA(1)) {
27170 case PLUS_:
27171 enterOuterAlt(_localctx, 1);
27172 {
27173 setState(3813);
27174 match(PLUS_);
27175 setState(3814);
27176 match(EQ_);
27177 }
27178 break;
27179 case MINUS_:
27180 enterOuterAlt(_localctx, 2);
27181 {
27182 setState(3815);
27183 match(MINUS_);
27184 setState(3816);
27185 match(EQ_);
27186 }
27187 break;
27188 case ASTERISK_:
27189 enterOuterAlt(_localctx, 3);
27190 {
27191 setState(3817);
27192 match(ASTERISK_);
27193 setState(3818);
27194 match(EQ_);
27195 }
27196 break;
27197 case SLASH_:
27198 enterOuterAlt(_localctx, 4);
27199 {
27200 setState(3819);
27201 match(SLASH_);
27202 setState(3820);
27203 match(EQ_);
27204 }
27205 break;
27206 case MOD_:
27207 enterOuterAlt(_localctx, 5);
27208 {
27209 setState(3821);
27210 match(MOD_);
27211 setState(3822);
27212 match(EQ_);
27213 }
27214 break;
27215 case AMPERSAND_:
27216 enterOuterAlt(_localctx, 6);
27217 {
27218 setState(3823);
27219 match(AMPERSAND_);
27220 setState(3824);
27221 match(EQ_);
27222 }
27223 break;
27224 case CARET_:
27225 enterOuterAlt(_localctx, 7);
27226 {
27227 setState(3825);
27228 match(CARET_);
27229 setState(3826);
27230 match(EQ_);
27231 }
27232 break;
27233 case VERTICAL_BAR_:
27234 enterOuterAlt(_localctx, 8);
27235 {
27236 setState(3827);
27237 match(VERTICAL_BAR_);
27238 setState(3828);
27239 match(EQ_);
27240 }
27241 break;
27242 default:
27243 throw new NoViableAltException(this);
27244 }
27245 }
27246 catch (RecognitionException re) {
27247 _localctx.exception = re;
27248 _errHandler.reportError(this, re);
27249 _errHandler.recover(this, re);
27250 }
27251 finally {
27252 exitRule();
27253 }
27254 return _localctx;
27255 }
27256
27257 public static class FuncParametersContext extends ParserRuleContext {
27258 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
27259 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
27260 public List<VariableNameContext> variableName() {
27261 return getRuleContexts(VariableNameContext.class);
27262 }
27263 public VariableNameContext variableName(int i) {
27264 return getRuleContext(VariableNameContext.class,i);
27265 }
27266 public List<DataTypeContext> dataType() {
27267 return getRuleContexts(DataTypeContext.class);
27268 }
27269 public DataTypeContext dataType(int i) {
27270 return getRuleContext(DataTypeContext.class,i);
27271 }
27272 public List<TerminalNode> AS() { return getTokens(SQLServerStatementParser.AS); }
27273 public TerminalNode AS(int i) {
27274 return getToken(SQLServerStatementParser.AS, i);
27275 }
27276 public List<OwnerContext> owner() {
27277 return getRuleContexts(OwnerContext.class);
27278 }
27279 public OwnerContext owner(int i) {
27280 return getRuleContext(OwnerContext.class,i);
27281 }
27282 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
27283 public TerminalNode DOT_(int i) {
27284 return getToken(SQLServerStatementParser.DOT_, i);
27285 }
27286 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
27287 public TerminalNode EQ_(int i) {
27288 return getToken(SQLServerStatementParser.EQ_, i);
27289 }
27290 public List<IgnoredIdentifierContext> ignoredIdentifier() {
27291 return getRuleContexts(IgnoredIdentifierContext.class);
27292 }
27293 public IgnoredIdentifierContext ignoredIdentifier(int i) {
27294 return getRuleContext(IgnoredIdentifierContext.class,i);
27295 }
27296 public List<TerminalNode> READONLY() { return getTokens(SQLServerStatementParser.READONLY); }
27297 public TerminalNode READONLY(int i) {
27298 return getToken(SQLServerStatementParser.READONLY, i);
27299 }
27300 public FuncParametersContext(ParserRuleContext parent, int invokingState) {
27301 super(parent, invokingState);
27302 }
27303 @Override public int getRuleIndex() { return RULE_funcParameters; }
27304 @Override
27305 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27306 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncParameters(this);
27307 else return visitor.visitChildren(this);
27308 }
27309 }
27310
27311 public final FuncParametersContext funcParameters() throws RecognitionException {
27312 FuncParametersContext _localctx = new FuncParametersContext(_ctx, getState());
27313 enterRule(_localctx, 560, RULE_funcParameters);
27314 int _la;
27315 try {
27316 enterOuterAlt(_localctx, 1);
27317 {
27318 setState(3831);
27319 match(LP_);
27320 setState(3851);
27321 _errHandler.sync(this);
27322 _la = _input.LA(1);
27323 while (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (TRIM - 53)) | (1L << (SUBSTRING - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (TIMESTAMP - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (YEAR - 118)) | (1L << (QUARTER - 118)) | (1L << (MONTH - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)) | (1L << (TOP - 184)))) != 0) || ((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (ROW - 248)) | (1L << (ROWS - 248)) | (1L << (XOR - 248)) | (1L << (ALWAYS - 248)) | (1L << (ROLE - 248)) | (1L << (START - 248)) | (1L << (ALGORITHM - 248)) | (1L << (AUTO - 248)) | (1L << (BLOCKERS - 248)) | (1L << (CLUSTERED - 248)) | (1L << (NONCLUSTERED - 248)) | (1L << (COLUMNSTORE - 248)) | (1L << (CONTENT - 248)) | (1L << (YEARS - 248)) | (1L << (MONTHS - 248)) | (1L << (WEEKS - 248)) | (1L << (DAYS - 248)) | (1L << (MINUTES - 248)) | (1L << (DENY - 248)) | (1L << (DETERMINISTIC - 248)) | (1L << (DISTRIBUTION - 248)) | (1L << (DOCUMENT - 248)) | (1L << (DURABILITY - 248)) | (1L << (ENCRYPTED - 248)) | (1L << (FILESTREAM - 248)) | (1L << (FILETABLE - 248)) | (1L << (FILLFACTOR - 248)) | (1L << (FOLLOWING - 248)) | (1L << (HASH - 248)) | (1L << (HEAP - 248)) | (1L << (INBOUND - 248)) | (1L << (OUTBOUND - 248)) | (1L << (UNBOUNDED - 248)) | (1L << (INFINITE - 248)) | (1L << (LOGIN - 248)) | (1L << (MASKED - 248)) | (1L << (MAXDOP - 248)) | (1L << (MOVE - 248)) | (1L << (NOCHECK - 248)) | (1L << (OBJECT - 248)) | (1L << (ONLINE - 248)) | (1L << (OVER - 248)) | (1L << (PAGE - 248)) | (1L << (PAUSED - 248)) | (1L << (PERIOD - 248)) | (1L << (PERSISTED - 248)) | (1L << (PRECEDING - 248)) | (1L << (RANDOMIZED - 248)))) != 0) || ((((_la - 312)) & ~0x3f) == 0 && ((1L << (_la - 312)) & ((1L << (RANGE - 312)) | (1L << (REBUILD - 312)) | (1L << (REPLICATE - 312)) | (1L << (REPLICATION - 312)) | (1L << (RESUMABLE - 312)) | (1L << (ROWGUIDCOL - 312)) | (1L << (SAVE - 312)) | (1L << (SELF - 312)) | (1L << (SPARSE - 312)) | (1L << (SWITCH - 312)) | (1L << (TRAN - 312)) | (1L << (TRANCOUNT - 312)) | (1L << (CONTROL - 312)) | (1L << (CONCAT - 312)) | (1L << (TAKE - 312)) | (1L << (OWNERSHIP - 312)) | (1L << (DEFINITION - 312)) | (1L << (APPLICATION - 312)) | (1L << (ASSEMBLY - 312)) | (1L << (SYMMETRIC - 312)) | (1L << (ASYMMETRIC - 312)) | (1L << (SERVER - 312)) | (1L << (RECEIVE - 312)) | (1L << (CHANGE - 312)) | (1L << (TRACE - 312)) | (1L << (TRACKING - 312)) | (1L << (RESOURCES - 312)) | (1L << (SETTINGS - 312)) | (1L << (STATE - 312)) | (1L << (AVAILABILITY - 312)) | (1L << (CREDENTIAL - 312)) | (1L << (ENDPOINT - 312)) | (1L << (EVENT - 312)) | (1L << (NOTIFICATION - 312)) | (1L << (LINKED - 312)) | (1L << (AUDIT - 312)) | (1L << (DDL - 312)) | (1L << (XML - 312)) | (1L << (IMPERSONATE - 312)) | (1L << (SECURABLES - 312)) | (1L << (AUTHENTICATE - 312)) | (1L << (EXTERNAL - 312)) | (1L << (ACCESS - 312)) | (1L << (ADMINISTER - 312)) | (1L << (BULK - 312)) | (1L << (OPERATIONS - 312)) | (1L << (UNSAFE - 312)) | (1L << (SHUTDOWN - 312)) | (1L << (SCOPED - 312)) | (1L << (CONFIGURATION - 312)) | (1L << (DATASPACE - 312)) | (1L << (SERVICE - 312)) | (1L << (CERTIFICATE - 312)) | (1L << (CONTRACT - 312)) | (1L << (ENCRYPTION - 312)) | (1L << (MASTER - 312)) | (1L << (DATA - 312)))) != 0) || ((((_la - 376)) & ~0x3f) == 0 && ((1L << (_la - 376)) & ((1L << (SOURCE - 376)) | (1L << (FILE - 376)) | (1L << (FORMAT - 376)) | (1L << (LIBRARY - 376)) | (1L << (FULLTEXT - 376)) | (1L << (MASK - 376)) | (1L << (UNMASK - 376)) | (1L << (MESSAGE - 376)) | (1L << (REMOTE - 376)) | (1L << (BINDING - 376)) | (1L << (ROUTE - 376)) | (1L << (SECURITY - 376)) | (1L << (POLICY - 376)) | (1L << (AGGREGATE - 376)) | (1L << (QUEUE - 376)) | (1L << (RULE - 376)) | (1L << (SYNONYM - 376)) | (1L << (COLLECTION - 376)) | (1L << (SCRIPT - 376)) | (1L << (KILL - 376)) | (1L << (BACKUP - 376)) | (1L << (LOG - 376)) | (1L << (SHOWPLAN - 376)) | (1L << (SUBSCRIBE - 376)) | (1L << (QUERY - 376)) | (1L << (NOTIFICATIONS - 376)) | (1L << (CHECKPOINT - 376)) | (1L << (SEQUENCE - 376)) | (1L << (ABORT_AFTER_WAIT - 376)) | (1L << (ALLOW_PAGE_LOCKS - 376)) | (1L << (ALLOW_ROW_LOCKS - 376)) | (1L << (ALL_SPARSE_COLUMNS - 376)) | (1L << (BUCKET_COUNT - 376)) | (1L << (COLUMNSTORE_ARCHIVE - 376)) | (1L << (COLUMN_ENCRYPTION_KEY - 376)) | (1L << (COLUMN_SET - 376)) | (1L << (COMPRESSION_DELAY - 376)) | (1L << (DATABASE_DEAULT - 376)) | (1L << (DATA_COMPRESSION - 376)) | (1L << (DATA_CONSISTENCY_CHECK - 376)) | (1L << (ENCRYPTION_TYPE - 376)) | (1L << (SYSTEM_TIME - 376)) | (1L << (SYSTEM_VERSIONING - 376)) | (1L << (TEXTIMAGE_ON - 376)) | (1L << (WAIT_AT_LOW_PRIORITY - 376)) | (1L << (STATISTICS_INCREMENTAL - 376)) | (1L << (STATISTICS_NORECOMPUTE - 376)) | (1L << (ROUND_ROBIN - 376)) | (1L << (SCHEMA_AND_DATA - 376)) | (1L << (SCHEMA_ONLY - 376)) | (1L << (SORT_IN_TEMPDB - 376)) | (1L << (IGNORE_DUP_KEY - 376)) | (1L << (IMPLICIT_TRANSACTIONS - 376)) | (1L << (MAX_DURATION - 376)) | (1L << (MEMORY_OPTIMIZED - 376)) | (1L << (MIGRATION_STATE - 376)) | (1L << (PAD_INDEX - 376)) | (1L << (REMOTE_DATA_ARCHIVE - 376)) | (1L << (FILESTREAM_ON - 376)) | (1L << (FILETABLE_COLLATE_FILENAME - 376)) | (1L << (FILETABLE_DIRECTORY - 376)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 376)))) != 0) || ((((_la - 440)) & ~0x3f) == 0 && ((1L << (_la - 440)) & ((1L << (FILTER_PREDICATE - 440)) | (1L << (HISTORY_RETENTION_PERIOD - 440)) | (1L << (HISTORY_TABLE - 440)) | (1L << (LOCK_ESCALATION - 440)) | (1L << (DROP_EXISTING - 440)) | (1L << (ROW_NUMBER - 440)) | (1L << (FIRST - 440)) | (1L << (DATETIME2 - 440)) | (1L << (OUTPUT - 440)) | (1L << (INSERTED - 440)) | (1L << (DELETED - 440)))) != 0) || ((((_la - 504)) & ~0x3f) == 0 && ((1L << (_la - 504)) & ((1L << (FILENAME - 504)) | (1L << (SIZE - 504)) | (1L << (MAXSIZE - 504)) | (1L << (FILEGROWTH - 504)) | (1L << (UNLIMITED - 504)) | (1L << (KB - 504)) | (1L << (MB - 504)) | (1L << (GB - 504)) | (1L << (TB - 504)) | (1L << (CONTAINS - 504)) | (1L << (MEMORY_OPTIMIZED_DATA - 504)) | (1L << (FILEGROUP - 504)) | (1L << (NON_TRANSACTED_ACCESS - 504)) | (1L << (DB_CHAINING - 504)) | (1L << (TRUSTWORTHY - 504)) | (1L << (FORWARD_ONLY - 504)) | (1L << (KEYSET - 504)) | (1L << (FAST_FORWARD - 504)) | (1L << (SCROLL_LOCKS - 504)) | (1L << (OPTIMISTIC - 504)) | (1L << (TYPE_WARNING - 504)) | (1L << (SCHEMABINDING - 504)) | (1L << (CALLER - 504)) | (1L << (INPUT - 504)) | (1L << (OWNER - 504)) | (1L << (SNAPSHOT - 504)) | (1L << (REPEATABLE - 504)) | (1L << (SERIALIZABLE - 504)) | (1L << (NATIVE_COMPILATION - 504)) | (1L << (VIEW_METADATA - 504)) | (1L << (INSTEAD - 504)) | (1L << (APPEND - 504)) | (1L << (INCREMENT - 504)) | (1L << (CACHE - 504)) | (1L << (MINVALUE - 504)) | (1L << (MAXVALUE - 504)) | (1L << (RESTART - 504)) | (1L << (LOB_COMPACTION - 504)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 504)) | (1L << (REORGANIZE - 504)) | (1L << (RESUME - 504)) | (1L << (PAUSE - 504)) | (1L << (ABORT - 504)))) != 0) || ((((_la - 570)) & ~0x3f) == 0 && ((1L << (_la - 570)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 570)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 570)) | (1L << (IMMEDIATE - 570)) | (1L << (NO_WAIT - 570)) | (1L << (TARGET_RECOVERY_TIME - 570)) | (1L << (SECONDS - 570)) | (1L << (HONOR_BROKER_PRIORITY - 570)) | (1L << (ERROR_BROKER_CONVERSATIONS - 570)) | (1L << (NEW_BROKER - 570)) | (1L << (DISABLE_BROKER - 570)) | (1L << (ENABLE_BROKER - 570)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 570)) | (1L << (READ_COMMITTED_SNAPSHOT - 570)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 570)) | (1L << (RECURSIVE_TRIGGERS - 570)) | (1L << (QUOTED_IDENTIFIER - 570)) | (1L << (NUMERIC_ROUNDABORT - 570)) | (1L << (CONCAT_NULL_YIELDS_NULL - 570)) | (1L << (COMPATIBILITY_LEVEL - 570)) | (1L << (ARITHABORT - 570)) | (1L << (ANSI_WARNINGS - 570)) | (1L << (ANSI_PADDING - 570)) | (1L << (ANSI_NULLS - 570)) | (1L << (ANSI_NULL_DEFAULT - 570)) | (1L << (PAGE_VERIFY - 570)) | (1L << (CHECKSUM - 570)) | (1L << (TORN_PAGE_DETECTION - 570)) | (1L << (BULK_LOGGED - 570)) | (1L << (RECOVERY - 570)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 570)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 570)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 570)) | (1L << (EXECUTION_COUNT - 570)) | (1L << (QUERY_CAPTURE_POLICY - 570)) | (1L << (WAIT_STATS_CAPTURE_MODE - 570)) | (1L << (MAX_PLANS_PER_QUERY - 570)) | (1L << (QUERY_CAPTURE_MODE - 570)) | (1L << (SIZE_BASED_CLEANUP_MODE - 570)) | (1L << (INTERVAL_LENGTH_MINUTES - 570)) | (1L << (MAX_STORAGE_SIZE_MB - 570)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 570)) | (1L << (CLEANUP_POLICY - 570)) | (1L << (CUSTOM - 570)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 570)) | (1L << (OPERATION_MODE - 570)) | (1L << (QUERY_STORE - 570)) | (1L << (CURSOR_DEFAULT - 570)) | (1L << (GLOBAL - 570)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 570)) | (1L << (HOURS - 570)) | (1L << (CHANGE_RETENTION - 570)) | (1L << (AUTO_CLEANUP - 570)) | (1L << (CHANGE_TRACKING - 570)) | (1L << (AUTOMATIC_TUNING - 570)) | (1L << (FORCE_LAST_GOOD_PLAN - 570)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 570)) | (1L << (AUTO_UPDATE_STATISTICS - 570)) | (1L << (AUTO_SHRINK - 570)) | (1L << (AUTO_CREATE_STATISTICS - 570)) | (1L << (INCREMENTAL - 570)) | (1L << (AUTO_CLOSE - 570)) | (1L << (DATA_RETENTION - 570)) | (1L << (TEMPORAL_HISTORY_RETENTION - 570)) | (1L << (EDITION - 570)))) != 0) || ((((_la - 634)) & ~0x3f) == 0 && ((1L << (_la - 634)) & ((1L << (MIXED_PAGE_ALLOCATION - 634)) | (1L << (DISABLED - 634)) | (1L << (ALLOWED - 634)) | (1L << (HADR - 634)) | (1L << (MULTI_USER - 634)) | (1L << (RESTRICTED_USER - 634)) | (1L << (SINGLE_USER - 634)) | (1L << (OFFLINE - 634)) | (1L << (EMERGENCY - 634)) | (1L << (SUSPEND - 634)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 634)) | (1L << (ELASTIC_POOL - 634)) | (1L << (SERVICE_OBJECTIVE - 634)) | (1L << (DATABASE_NAME - 634)) | (1L << (ALLOW_CONNECTIONS - 634)) | (1L << (GEO - 634)) | (1L << (NAMED - 634)) | (1L << (DATEFIRST - 634)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 634)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 634)) | (1L << (SECONDARY - 634)) | (1L << (FAILOVER - 634)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 634)) | (1L << (DEFAULT_LANGUAGE - 634)) | (1L << (INLINE - 634)) | (1L << (NESTED_TRIGGERS - 634)) | (1L << (TRANSFORM_NOISE_WORDS - 634)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 634)) | (1L << (PERSISTENT_LOG_BUFFER - 634)) | (1L << (DIRECTORY_NAME - 634)) | (1L << (DATEFORMAT - 634)) | (1L << (DELAYED_DURABILITY - 634)) | (1L << (AUTHORIZATION - 634)) | (1L << (TRANSFER - 634)) | (1L << (PROVIDER - 634)) | (1L << (SEARCH - 634)) | (1L << (MEMBER - 634)))) != 0) || _la==IDENTIFIER_ || _la==DELIMITED_IDENTIFIER_) {
27324 {
27325 {
27326 setState(3832);
27327 variableName();
27328 setState(3834);
27329 _errHandler.sync(this);
27330 _la = _input.LA(1);
27331 if (_la==AS) {
27332 {
27333 setState(3833);
27334 match(AS);
27335 }
27336 }
27337
27338 setState(3839);
27339 _errHandler.sync(this);
27340 switch ( getInterpreter().adaptivePredict(_input,384,_ctx) ) {
27341 case 1:
27342 {
27343 setState(3836);
27344 owner();
27345 setState(3837);
27346 match(DOT_);
27347 }
27348 break;
27349 }
27350 setState(3841);
27351 dataType();
27352 setState(3844);
27353 _errHandler.sync(this);
27354 _la = _input.LA(1);
27355 if (_la==EQ_) {
27356 {
27357 setState(3842);
27358 match(EQ_);
27359 setState(3843);
27360 ignoredIdentifier();
27361 }
27362 }
27363
27364 setState(3847);
27365 _errHandler.sync(this);
27366 _la = _input.LA(1);
27367 if (_la==READONLY) {
27368 {
27369 setState(3846);
27370 match(READONLY);
27371 }
27372 }
27373
27374 }
27375 }
27376 setState(3853);
27377 _errHandler.sync(this);
27378 _la = _input.LA(1);
27379 }
27380 setState(3854);
27381 match(RP_);
27382 }
27383 }
27384 catch (RecognitionException re) {
27385 _localctx.exception = re;
27386 _errHandler.reportError(this, re);
27387 _errHandler.recover(this, re);
27388 }
27389 finally {
27390 exitRule();
27391 }
27392 return _localctx;
27393 }
27394
27395 public static class FuncReturnsContext extends ParserRuleContext {
27396 public FuncScalarReturnContext funcScalarReturn() {
27397 return getRuleContext(FuncScalarReturnContext.class,0);
27398 }
27399 public FuncInlineReturnContext funcInlineReturn() {
27400 return getRuleContext(FuncInlineReturnContext.class,0);
27401 }
27402 public FuncMutiReturnContext funcMutiReturn() {
27403 return getRuleContext(FuncMutiReturnContext.class,0);
27404 }
27405 public FuncReturnsContext(ParserRuleContext parent, int invokingState) {
27406 super(parent, invokingState);
27407 }
27408 @Override public int getRuleIndex() { return RULE_funcReturns; }
27409 @Override
27410 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27411 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncReturns(this);
27412 else return visitor.visitChildren(this);
27413 }
27414 }
27415
27416 public final FuncReturnsContext funcReturns() throws RecognitionException {
27417 FuncReturnsContext _localctx = new FuncReturnsContext(_ctx, getState());
27418 enterRule(_localctx, 562, RULE_funcReturns);
27419 try {
27420 setState(3859);
27421 _errHandler.sync(this);
27422 switch ( getInterpreter().adaptivePredict(_input,388,_ctx) ) {
27423 case 1:
27424 enterOuterAlt(_localctx, 1);
27425 {
27426 setState(3856);
27427 funcScalarReturn();
27428 }
27429 break;
27430 case 2:
27431 enterOuterAlt(_localctx, 2);
27432 {
27433 setState(3857);
27434 funcInlineReturn();
27435 }
27436 break;
27437 case 3:
27438 enterOuterAlt(_localctx, 3);
27439 {
27440 setState(3858);
27441 funcMutiReturn();
27442 }
27443 break;
27444 }
27445 }
27446 catch (RecognitionException re) {
27447 _localctx.exception = re;
27448 _errHandler.reportError(this, re);
27449 _errHandler.recover(this, re);
27450 }
27451 finally {
27452 exitRule();
27453 }
27454 return _localctx;
27455 }
27456
27457 public static class FuncMutiReturnContext extends ParserRuleContext {
27458 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
27459 public VariableNameContext variableName() {
27460 return getRuleContext(VariableNameContext.class,0);
27461 }
27462 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
27463 public CreateTableDefinitionsContext createTableDefinitions() {
27464 return getRuleContext(CreateTableDefinitionsContext.class,0);
27465 }
27466 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
27467 public CompoundStatementContext compoundStatement() {
27468 return getRuleContext(CompoundStatementContext.class,0);
27469 }
27470 public TerminalNode RETURN() { return getToken(SQLServerStatementParser.RETURN, 0); }
27471 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
27472 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
27473 public List<FunctionOptionContext> functionOption() {
27474 return getRuleContexts(FunctionOptionContext.class);
27475 }
27476 public FunctionOptionContext functionOption(int i) {
27477 return getRuleContext(FunctionOptionContext.class,i);
27478 }
27479 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
27480 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27481 public TerminalNode COMMA_(int i) {
27482 return getToken(SQLServerStatementParser.COMMA_, i);
27483 }
27484 public FuncMutiReturnContext(ParserRuleContext parent, int invokingState) {
27485 super(parent, invokingState);
27486 }
27487 @Override public int getRuleIndex() { return RULE_funcMutiReturn; }
27488 @Override
27489 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27490 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncMutiReturn(this);
27491 else return visitor.visitChildren(this);
27492 }
27493 }
27494
27495 public final FuncMutiReturnContext funcMutiReturn() throws RecognitionException {
27496 FuncMutiReturnContext _localctx = new FuncMutiReturnContext(_ctx, getState());
27497 enterRule(_localctx, 564, RULE_funcMutiReturn);
27498 int _la;
27499 try {
27500 enterOuterAlt(_localctx, 1);
27501 {
27502 setState(3861);
27503 match(RETURNS);
27504 setState(3862);
27505 variableName();
27506 setState(3863);
27507 match(TABLE);
27508 setState(3864);
27509 createTableDefinitions();
27510 setState(3874);
27511 _errHandler.sync(this);
27512 _la = _input.LA(1);
27513 if (_la==WITH) {
27514 {
27515 setState(3865);
27516 match(WITH);
27517 setState(3866);
27518 functionOption();
27519 setState(3871);
27520 _errHandler.sync(this);
27521 _la = _input.LA(1);
27522 while (_la==COMMA_) {
27523 {
27524 {
27525 setState(3867);
27526 match(COMMA_);
27527 setState(3868);
27528 functionOption();
27529 }
27530 }
27531 setState(3873);
27532 _errHandler.sync(this);
27533 _la = _input.LA(1);
27534 }
27535 }
27536 }
27537
27538 setState(3877);
27539 _errHandler.sync(this);
27540 _la = _input.LA(1);
27541 if (_la==AS) {
27542 {
27543 setState(3876);
27544 match(AS);
27545 }
27546 }
27547
27548 setState(3879);
27549 match(BEGIN);
27550 setState(3880);
27551 compoundStatement();
27552 setState(3881);
27553 match(RETURN);
27554 setState(3882);
27555 match(END);
27556 }
27557 }
27558 catch (RecognitionException re) {
27559 _localctx.exception = re;
27560 _errHandler.reportError(this, re);
27561 _errHandler.recover(this, re);
27562 }
27563 finally {
27564 exitRule();
27565 }
27566 return _localctx;
27567 }
27568
27569 public static class FuncInlineReturnContext extends ParserRuleContext {
27570 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
27571 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
27572 public TerminalNode RETURN() { return getToken(SQLServerStatementParser.RETURN, 0); }
27573 public SelectContext select() {
27574 return getRuleContext(SelectContext.class,0);
27575 }
27576 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
27577 public List<FunctionOptionContext> functionOption() {
27578 return getRuleContexts(FunctionOptionContext.class);
27579 }
27580 public FunctionOptionContext functionOption(int i) {
27581 return getRuleContext(FunctionOptionContext.class,i);
27582 }
27583 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
27584 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
27585 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
27586 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27587 public TerminalNode COMMA_(int i) {
27588 return getToken(SQLServerStatementParser.COMMA_, i);
27589 }
27590 public FuncInlineReturnContext(ParserRuleContext parent, int invokingState) {
27591 super(parent, invokingState);
27592 }
27593 @Override public int getRuleIndex() { return RULE_funcInlineReturn; }
27594 @Override
27595 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27596 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncInlineReturn(this);
27597 else return visitor.visitChildren(this);
27598 }
27599 }
27600
27601 public final FuncInlineReturnContext funcInlineReturn() throws RecognitionException {
27602 FuncInlineReturnContext _localctx = new FuncInlineReturnContext(_ctx, getState());
27603 enterRule(_localctx, 566, RULE_funcInlineReturn);
27604 int _la;
27605 try {
27606 enterOuterAlt(_localctx, 1);
27607 {
27608 setState(3884);
27609 match(RETURNS);
27610 setState(3885);
27611 match(TABLE);
27612 setState(3895);
27613 _errHandler.sync(this);
27614 _la = _input.LA(1);
27615 if (_la==WITH) {
27616 {
27617 setState(3886);
27618 match(WITH);
27619 setState(3887);
27620 functionOption();
27621 setState(3892);
27622 _errHandler.sync(this);
27623 _la = _input.LA(1);
27624 while (_la==COMMA_) {
27625 {
27626 {
27627 setState(3888);
27628 match(COMMA_);
27629 setState(3889);
27630 functionOption();
27631 }
27632 }
27633 setState(3894);
27634 _errHandler.sync(this);
27635 _la = _input.LA(1);
27636 }
27637 }
27638 }
27639
27640 setState(3898);
27641 _errHandler.sync(this);
27642 _la = _input.LA(1);
27643 if (_la==AS) {
27644 {
27645 setState(3897);
27646 match(AS);
27647 }
27648 }
27649
27650 setState(3900);
27651 match(RETURN);
27652 setState(3902);
27653 _errHandler.sync(this);
27654 _la = _input.LA(1);
27655 if (_la==LP_) {
27656 {
27657 setState(3901);
27658 match(LP_);
27659 }
27660 }
27661
27662 setState(3904);
27663 select();
27664 setState(3906);
27665 _errHandler.sync(this);
27666 _la = _input.LA(1);
27667 if (_la==RP_) {
27668 {
27669 setState(3905);
27670 match(RP_);
27671 }
27672 }
27673
27674 }
27675 }
27676 catch (RecognitionException re) {
27677 _localctx.exception = re;
27678 _errHandler.reportError(this, re);
27679 _errHandler.recover(this, re);
27680 }
27681 finally {
27682 exitRule();
27683 }
27684 return _localctx;
27685 }
27686
27687 public static class FuncScalarReturnContext extends ParserRuleContext {
27688 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
27689 public DataTypeContext dataType() {
27690 return getRuleContext(DataTypeContext.class,0);
27691 }
27692 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
27693 public CompoundStatementContext compoundStatement() {
27694 return getRuleContext(CompoundStatementContext.class,0);
27695 }
27696 public TerminalNode RETURN() { return getToken(SQLServerStatementParser.RETURN, 0); }
27697 public ExprContext expr() {
27698 return getRuleContext(ExprContext.class,0);
27699 }
27700 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
27701 public List<FunctionOptionContext> functionOption() {
27702 return getRuleContexts(FunctionOptionContext.class);
27703 }
27704 public FunctionOptionContext functionOption(int i) {
27705 return getRuleContext(FunctionOptionContext.class,i);
27706 }
27707 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
27708 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27709 public TerminalNode COMMA_(int i) {
27710 return getToken(SQLServerStatementParser.COMMA_, i);
27711 }
27712 public FuncScalarReturnContext(ParserRuleContext parent, int invokingState) {
27713 super(parent, invokingState);
27714 }
27715 @Override public int getRuleIndex() { return RULE_funcScalarReturn; }
27716 @Override
27717 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27718 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncScalarReturn(this);
27719 else return visitor.visitChildren(this);
27720 }
27721 }
27722
27723 public final FuncScalarReturnContext funcScalarReturn() throws RecognitionException {
27724 FuncScalarReturnContext _localctx = new FuncScalarReturnContext(_ctx, getState());
27725 enterRule(_localctx, 568, RULE_funcScalarReturn);
27726 int _la;
27727 try {
27728 enterOuterAlt(_localctx, 1);
27729 {
27730 setState(3908);
27731 match(RETURNS);
27732 setState(3909);
27733 dataType();
27734 setState(3919);
27735 _errHandler.sync(this);
27736 _la = _input.LA(1);
27737 if (_la==WITH) {
27738 {
27739 setState(3910);
27740 match(WITH);
27741 setState(3911);
27742 functionOption();
27743 setState(3916);
27744 _errHandler.sync(this);
27745 _la = _input.LA(1);
27746 while (_la==COMMA_) {
27747 {
27748 {
27749 setState(3912);
27750 match(COMMA_);
27751 setState(3913);
27752 functionOption();
27753 }
27754 }
27755 setState(3918);
27756 _errHandler.sync(this);
27757 _la = _input.LA(1);
27758 }
27759 }
27760 }
27761
27762 setState(3922);
27763 _errHandler.sync(this);
27764 _la = _input.LA(1);
27765 if (_la==AS) {
27766 {
27767 setState(3921);
27768 match(AS);
27769 }
27770 }
27771
27772 setState(3924);
27773 match(BEGIN);
27774 setState(3925);
27775 compoundStatement();
27776 setState(3926);
27777 match(RETURN);
27778 setState(3927);
27779 expr(0);
27780 }
27781 }
27782 catch (RecognitionException re) {
27783 _localctx.exception = re;
27784 _errHandler.reportError(this, re);
27785 _errHandler.recover(this, re);
27786 }
27787 finally {
27788 exitRule();
27789 }
27790 return _localctx;
27791 }
27792
27793 public static class TableTypeDefinitionContext extends ParserRuleContext {
27794 public ColumnDefinitionContext columnDefinition() {
27795 return getRuleContext(ColumnDefinitionContext.class,0);
27796 }
27797 public ColumnConstraintContext columnConstraint() {
27798 return getRuleContext(ColumnConstraintContext.class,0);
27799 }
27800 public ComputedColumnDefinitionContext computedColumnDefinition() {
27801 return getRuleContext(ComputedColumnDefinitionContext.class,0);
27802 }
27803 public List<TableConstraintContext> tableConstraint() {
27804 return getRuleContexts(TableConstraintContext.class);
27805 }
27806 public TableConstraintContext tableConstraint(int i) {
27807 return getRuleContext(TableConstraintContext.class,i);
27808 }
27809 public TableTypeDefinitionContext(ParserRuleContext parent, int invokingState) {
27810 super(parent, invokingState);
27811 }
27812 @Override public int getRuleIndex() { return RULE_tableTypeDefinition; }
27813 @Override
27814 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27815 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableTypeDefinition(this);
27816 else return visitor.visitChildren(this);
27817 }
27818 }
27819
27820 public final TableTypeDefinitionContext tableTypeDefinition() throws RecognitionException {
27821 TableTypeDefinitionContext _localctx = new TableTypeDefinitionContext(_ctx, getState());
27822 enterRule(_localctx, 570, RULE_tableTypeDefinition);
27823 int _la;
27824 try {
27825 enterOuterAlt(_localctx, 1);
27826 {
27827 setState(3933);
27828 _errHandler.sync(this);
27829 switch ( getInterpreter().adaptivePredict(_input,400,_ctx) ) {
27830 case 1:
27831 {
27832 setState(3929);
27833 columnDefinition();
27834 setState(3930);
27835 columnConstraint();
27836 }
27837 break;
27838 case 2:
27839 {
27840 setState(3932);
27841 computedColumnDefinition();
27842 }
27843 break;
27844 }
27845 setState(3938);
27846 _errHandler.sync(this);
27847 _la = _input.LA(1);
27848 while (((((_la - 31)) & ~0x3f) == 0 && ((1L << (_la - 31)) & ((1L << (LP_ - 31)) | (1L << (CONSTRAINT - 31)) | (1L << (PRIMARY - 31)) | (1L << (UNIQUE - 31)) | (1L << (FOREIGN - 31)) | (1L << (KEY - 31)))) != 0) || _la==CHECK) {
27849 {
27850 {
27851 setState(3935);
27852 tableConstraint();
27853 }
27854 }
27855 setState(3940);
27856 _errHandler.sync(this);
27857 _la = _input.LA(1);
27858 }
27859 }
27860 }
27861 catch (RecognitionException re) {
27862 _localctx.exception = re;
27863 _errHandler.reportError(this, re);
27864 _errHandler.recover(this, re);
27865 }
27866 finally {
27867 exitRule();
27868 }
27869 return _localctx;
27870 }
27871
27872 public static class CompoundStatementContext extends ParserRuleContext {
27873 public List<ValidStatementContext> validStatement() {
27874 return getRuleContexts(ValidStatementContext.class);
27875 }
27876 public ValidStatementContext validStatement(int i) {
27877 return getRuleContext(ValidStatementContext.class,i);
27878 }
27879 public CompoundStatementContext(ParserRuleContext parent, int invokingState) {
27880 super(parent, invokingState);
27881 }
27882 @Override public int getRuleIndex() { return RULE_compoundStatement; }
27883 @Override
27884 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27885 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCompoundStatement(this);
27886 else return visitor.visitChildren(this);
27887 }
27888 }
27889
27890 public final CompoundStatementContext compoundStatement() throws RecognitionException {
27891 CompoundStatementContext _localctx = new CompoundStatementContext(_ctx, getState());
27892 enterRule(_localctx, 572, RULE_compoundStatement);
27893 int _la;
27894 try {
27895 enterOuterAlt(_localctx, 1);
27896 {
27897 setState(3944);
27898 _errHandler.sync(this);
27899 _la = _input.LA(1);
27900 while (((((_la - 46)) & ~0x3f) == 0 && ((1L << (_la - 46)) & ((1L << (SELECT - 46)) | (1L << (INSERT - 46)) | (1L << (UPDATE - 46)) | (1L << (DELETE - 46)) | (1L << (CREATE - 46)) | (1L << (ALTER - 46)) | (1L << (DROP - 46)) | (1L << (TRUNCATE - 46)) | (1L << (SET - 46)) | (1L << (WITH - 46)))) != 0) || _la==DECLARE) {
27901 {
27902 {
27903 setState(3941);
27904 validStatement();
27905 }
27906 }
27907 setState(3946);
27908 _errHandler.sync(this);
27909 _la = _input.LA(1);
27910 }
27911 }
27912 }
27913 catch (RecognitionException re) {
27914 _localctx.exception = re;
27915 _errHandler.reportError(this, re);
27916 _errHandler.recover(this, re);
27917 }
27918 finally {
27919 exitRule();
27920 }
27921 return _localctx;
27922 }
27923
27924 public static class FunctionOptionContext extends ParserRuleContext {
27925 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
27926 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
27927 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
27928 public List<TerminalNode> NULL() { return getTokens(SQLServerStatementParser.NULL); }
27929 public TerminalNode NULL(int i) {
27930 return getToken(SQLServerStatementParser.NULL, i);
27931 }
27932 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
27933 public TerminalNode INPUT() { return getToken(SQLServerStatementParser.INPUT, 0); }
27934 public TerminalNode CALLED() { return getToken(SQLServerStatementParser.CALLED, 0); }
27935 public ExecuteAsClauseContext executeAsClause() {
27936 return getRuleContext(ExecuteAsClauseContext.class,0);
27937 }
27938 public TerminalNode INLINE() { return getToken(SQLServerStatementParser.INLINE, 0); }
27939 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
27940 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
27941 public FunctionOptionContext(ParserRuleContext parent, int invokingState) {
27942 super(parent, invokingState);
27943 }
27944 @Override public int getRuleIndex() { return RULE_functionOption; }
27945 @Override
27946 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27947 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFunctionOption(this);
27948 else return visitor.visitChildren(this);
27949 }
27950 }
27951
27952 public final FunctionOptionContext functionOption() throws RecognitionException {
27953 FunctionOptionContext _localctx = new FunctionOptionContext(_ctx, getState());
27954 enterRule(_localctx, 574, RULE_functionOption);
27955 int _la;
27956 try {
27957 setState(3972);
27958 _errHandler.sync(this);
27959 switch ( getInterpreter().adaptivePredict(_input,408,_ctx) ) {
27960 case 1:
27961 enterOuterAlt(_localctx, 1);
27962 {
27963 setState(3948);
27964 _errHandler.sync(this);
27965 _la = _input.LA(1);
27966 if (_la==ENCRYPTION) {
27967 {
27968 setState(3947);
27969 match(ENCRYPTION);
27970 }
27971 }
27972
27973 }
27974 break;
27975 case 2:
27976 enterOuterAlt(_localctx, 2);
27977 {
27978 setState(3951);
27979 _errHandler.sync(this);
27980 _la = _input.LA(1);
27981 if (_la==SCHEMABINDING) {
27982 {
27983 setState(3950);
27984 match(SCHEMABINDING);
27985 }
27986 }
27987
27988 }
27989 break;
27990 case 3:
27991 enterOuterAlt(_localctx, 3);
27992 {
27993 setState(3962);
27994 _errHandler.sync(this);
27995 switch (_input.LA(1)) {
27996 case RETURNS:
27997 {
27998 setState(3953);
27999 match(RETURNS);
28000 setState(3954);
28001 match(NULL);
28002 setState(3955);
28003 match(ON);
28004 setState(3956);
28005 match(NULL);
28006 setState(3957);
28007 match(INPUT);
28008 }
28009 break;
28010 case CALLED:
28011 {
28012 setState(3958);
28013 match(CALLED);
28014 setState(3959);
28015 match(ON);
28016 setState(3960);
28017 match(NULL);
28018 setState(3961);
28019 match(INPUT);
28020 }
28021 break;
28022 case COMMA_:
28023 case AS:
28024 case BEGIN:
28025 case RETURN:
28026 break;
28027 default:
28028 break;
28029 }
28030 }
28031 break;
28032 case 4:
28033 enterOuterAlt(_localctx, 4);
28034 {
28035 setState(3965);
28036 _errHandler.sync(this);
28037 _la = _input.LA(1);
28038 if (_la==EXECUTE || _la==EXEC) {
28039 {
28040 setState(3964);
28041 executeAsClause();
28042 }
28043 }
28044
28045 }
28046 break;
28047 case 5:
28048 enterOuterAlt(_localctx, 5);
28049 {
28050 setState(3970);
28051 _errHandler.sync(this);
28052 _la = _input.LA(1);
28053 if (_la==INLINE) {
28054 {
28055 setState(3967);
28056 match(INLINE);
28057 setState(3968);
28058 match(EQ_);
28059 setState(3969);
28060 _la = _input.LA(1);
28061 if ( !(_la==ON || _la==OFF) ) {
28062 _errHandler.recoverInline(this);
28063 }
28064 else {
28065 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
28066 _errHandler.reportMatch(this);
28067 consume();
28068 }
28069 }
28070 }
28071
28072 }
28073 break;
28074 }
28075 }
28076 catch (RecognitionException re) {
28077 _localctx.exception = re;
28078 _errHandler.reportError(this, re);
28079 _errHandler.recover(this, re);
28080 }
28081 finally {
28082 exitRule();
28083 }
28084 return _localctx;
28085 }
28086
28087 public static class ValidStatementContext extends ParserRuleContext {
28088 public CreateTableContext createTable() {
28089 return getRuleContext(CreateTableContext.class,0);
28090 }
28091 public AlterTableContext alterTable() {
28092 return getRuleContext(AlterTableContext.class,0);
28093 }
28094 public DropTableContext dropTable() {
28095 return getRuleContext(DropTableContext.class,0);
28096 }
28097 public TruncateTableContext truncateTable() {
28098 return getRuleContext(TruncateTableContext.class,0);
28099 }
28100 public InsertContext insert() {
28101 return getRuleContext(InsertContext.class,0);
28102 }
28103 public UpdateContext update() {
28104 return getRuleContext(UpdateContext.class,0);
28105 }
28106 public DeleteContext delete() {
28107 return getRuleContext(DeleteContext.class,0);
28108 }
28109 public SelectContext select() {
28110 return getRuleContext(SelectContext.class,0);
28111 }
28112 public SetVariableContext setVariable() {
28113 return getRuleContext(SetVariableContext.class,0);
28114 }
28115 public DeclareVariableContext declareVariable() {
28116 return getRuleContext(DeclareVariableContext.class,0);
28117 }
28118 public TerminalNode SEMI_() { return getToken(SQLServerStatementParser.SEMI_, 0); }
28119 public ValidStatementContext(ParserRuleContext parent, int invokingState) {
28120 super(parent, invokingState);
28121 }
28122 @Override public int getRuleIndex() { return RULE_validStatement; }
28123 @Override
28124 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28125 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitValidStatement(this);
28126 else return visitor.visitChildren(this);
28127 }
28128 }
28129
28130 public final ValidStatementContext validStatement() throws RecognitionException {
28131 ValidStatementContext _localctx = new ValidStatementContext(_ctx, getState());
28132 enterRule(_localctx, 576, RULE_validStatement);
28133 try {
28134 enterOuterAlt(_localctx, 1);
28135 {
28136 setState(3984);
28137 _errHandler.sync(this);
28138 switch ( getInterpreter().adaptivePredict(_input,409,_ctx) ) {
28139 case 1:
28140 {
28141 setState(3974);
28142 createTable();
28143 }
28144 break;
28145 case 2:
28146 {
28147 setState(3975);
28148 alterTable();
28149 }
28150 break;
28151 case 3:
28152 {
28153 setState(3976);
28154 dropTable();
28155 }
28156 break;
28157 case 4:
28158 {
28159 setState(3977);
28160 truncateTable();
28161 }
28162 break;
28163 case 5:
28164 {
28165 setState(3978);
28166 insert();
28167 }
28168 break;
28169 case 6:
28170 {
28171 setState(3979);
28172 update();
28173 }
28174 break;
28175 case 7:
28176 {
28177 setState(3980);
28178 delete();
28179 }
28180 break;
28181 case 8:
28182 {
28183 setState(3981);
28184 select();
28185 }
28186 break;
28187 case 9:
28188 {
28189 setState(3982);
28190 setVariable();
28191 }
28192 break;
28193 case 10:
28194 {
28195 setState(3983);
28196 declareVariable();
28197 }
28198 break;
28199 }
28200 setState(3987);
28201 _errHandler.sync(this);
28202 switch ( getInterpreter().adaptivePredict(_input,410,_ctx) ) {
28203 case 1:
28204 {
28205 setState(3986);
28206 match(SEMI_);
28207 }
28208 break;
28209 }
28210 }
28211 }
28212 catch (RecognitionException re) {
28213 _localctx.exception = re;
28214 _errHandler.reportError(this, re);
28215 _errHandler.recover(this, re);
28216 }
28217 finally {
28218 exitRule();
28219 }
28220 return _localctx;
28221 }
28222
28223 public static class ProcParametersContext extends ParserRuleContext {
28224 public List<ProcParameterContext> procParameter() {
28225 return getRuleContexts(ProcParameterContext.class);
28226 }
28227 public ProcParameterContext procParameter(int i) {
28228 return getRuleContext(ProcParameterContext.class,i);
28229 }
28230 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
28231 public TerminalNode COMMA_(int i) {
28232 return getToken(SQLServerStatementParser.COMMA_, i);
28233 }
28234 public ProcParametersContext(ParserRuleContext parent, int invokingState) {
28235 super(parent, invokingState);
28236 }
28237 @Override public int getRuleIndex() { return RULE_procParameters; }
28238 @Override
28239 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28240 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcParameters(this);
28241 else return visitor.visitChildren(this);
28242 }
28243 }
28244
28245 public final ProcParametersContext procParameters() throws RecognitionException {
28246 ProcParametersContext _localctx = new ProcParametersContext(_ctx, getState());
28247 enterRule(_localctx, 578, RULE_procParameters);
28248 int _la;
28249 try {
28250 enterOuterAlt(_localctx, 1);
28251 {
28252 setState(3997);
28253 _errHandler.sync(this);
28254 _la = _input.LA(1);
28255 if (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (TRIM - 53)) | (1L << (SUBSTRING - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (TIMESTAMP - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (YEAR - 118)) | (1L << (QUARTER - 118)) | (1L << (MONTH - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)) | (1L << (TOP - 184)))) != 0) || ((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (ROW - 248)) | (1L << (ROWS - 248)) | (1L << (XOR - 248)) | (1L << (ALWAYS - 248)) | (1L << (ROLE - 248)) | (1L << (START - 248)) | (1L << (ALGORITHM - 248)) | (1L << (AUTO - 248)) | (1L << (BLOCKERS - 248)) | (1L << (CLUSTERED - 248)) | (1L << (NONCLUSTERED - 248)) | (1L << (COLUMNSTORE - 248)) | (1L << (CONTENT - 248)) | (1L << (YEARS - 248)) | (1L << (MONTHS - 248)) | (1L << (WEEKS - 248)) | (1L << (DAYS - 248)) | (1L << (MINUTES - 248)) | (1L << (DENY - 248)) | (1L << (DETERMINISTIC - 248)) | (1L << (DISTRIBUTION - 248)) | (1L << (DOCUMENT - 248)) | (1L << (DURABILITY - 248)) | (1L << (ENCRYPTED - 248)) | (1L << (FILESTREAM - 248)) | (1L << (FILETABLE - 248)) | (1L << (FILLFACTOR - 248)) | (1L << (FOLLOWING - 248)) | (1L << (HASH - 248)) | (1L << (HEAP - 248)) | (1L << (INBOUND - 248)) | (1L << (OUTBOUND - 248)) | (1L << (UNBOUNDED - 248)) | (1L << (INFINITE - 248)) | (1L << (LOGIN - 248)) | (1L << (MASKED - 248)) | (1L << (MAXDOP - 248)) | (1L << (MOVE - 248)) | (1L << (NOCHECK - 248)) | (1L << (OBJECT - 248)) | (1L << (ONLINE - 248)) | (1L << (OVER - 248)) | (1L << (PAGE - 248)) | (1L << (PAUSED - 248)) | (1L << (PERIOD - 248)) | (1L << (PERSISTED - 248)) | (1L << (PRECEDING - 248)) | (1L << (RANDOMIZED - 248)))) != 0) || ((((_la - 312)) & ~0x3f) == 0 && ((1L << (_la - 312)) & ((1L << (RANGE - 312)) | (1L << (REBUILD - 312)) | (1L << (REPLICATE - 312)) | (1L << (REPLICATION - 312)) | (1L << (RESUMABLE - 312)) | (1L << (ROWGUIDCOL - 312)) | (1L << (SAVE - 312)) | (1L << (SELF - 312)) | (1L << (SPARSE - 312)) | (1L << (SWITCH - 312)) | (1L << (TRAN - 312)) | (1L << (TRANCOUNT - 312)) | (1L << (CONTROL - 312)) | (1L << (CONCAT - 312)) | (1L << (TAKE - 312)) | (1L << (OWNERSHIP - 312)) | (1L << (DEFINITION - 312)) | (1L << (APPLICATION - 312)) | (1L << (ASSEMBLY - 312)) | (1L << (SYMMETRIC - 312)) | (1L << (ASYMMETRIC - 312)) | (1L << (SERVER - 312)) | (1L << (RECEIVE - 312)) | (1L << (CHANGE - 312)) | (1L << (TRACE - 312)) | (1L << (TRACKING - 312)) | (1L << (RESOURCES - 312)) | (1L << (SETTINGS - 312)) | (1L << (STATE - 312)) | (1L << (AVAILABILITY - 312)) | (1L << (CREDENTIAL - 312)) | (1L << (ENDPOINT - 312)) | (1L << (EVENT - 312)) | (1L << (NOTIFICATION - 312)) | (1L << (LINKED - 312)) | (1L << (AUDIT - 312)) | (1L << (DDL - 312)) | (1L << (XML - 312)) | (1L << (IMPERSONATE - 312)) | (1L << (SECURABLES - 312)) | (1L << (AUTHENTICATE - 312)) | (1L << (EXTERNAL - 312)) | (1L << (ACCESS - 312)) | (1L << (ADMINISTER - 312)) | (1L << (BULK - 312)) | (1L << (OPERATIONS - 312)) | (1L << (UNSAFE - 312)) | (1L << (SHUTDOWN - 312)) | (1L << (SCOPED - 312)) | (1L << (CONFIGURATION - 312)) | (1L << (DATASPACE - 312)) | (1L << (SERVICE - 312)) | (1L << (CERTIFICATE - 312)) | (1L << (CONTRACT - 312)) | (1L << (ENCRYPTION - 312)) | (1L << (MASTER - 312)) | (1L << (DATA - 312)))) != 0) || ((((_la - 376)) & ~0x3f) == 0 && ((1L << (_la - 376)) & ((1L << (SOURCE - 376)) | (1L << (FILE - 376)) | (1L << (FORMAT - 376)) | (1L << (LIBRARY - 376)) | (1L << (FULLTEXT - 376)) | (1L << (MASK - 376)) | (1L << (UNMASK - 376)) | (1L << (MESSAGE - 376)) | (1L << (REMOTE - 376)) | (1L << (BINDING - 376)) | (1L << (ROUTE - 376)) | (1L << (SECURITY - 376)) | (1L << (POLICY - 376)) | (1L << (AGGREGATE - 376)) | (1L << (QUEUE - 376)) | (1L << (RULE - 376)) | (1L << (SYNONYM - 376)) | (1L << (COLLECTION - 376)) | (1L << (SCRIPT - 376)) | (1L << (KILL - 376)) | (1L << (BACKUP - 376)) | (1L << (LOG - 376)) | (1L << (SHOWPLAN - 376)) | (1L << (SUBSCRIBE - 376)) | (1L << (QUERY - 376)) | (1L << (NOTIFICATIONS - 376)) | (1L << (CHECKPOINT - 376)) | (1L << (SEQUENCE - 376)) | (1L << (ABORT_AFTER_WAIT - 376)) | (1L << (ALLOW_PAGE_LOCKS - 376)) | (1L << (ALLOW_ROW_LOCKS - 376)) | (1L << (ALL_SPARSE_COLUMNS - 376)) | (1L << (BUCKET_COUNT - 376)) | (1L << (COLUMNSTORE_ARCHIVE - 376)) | (1L << (COLUMN_ENCRYPTION_KEY - 376)) | (1L << (COLUMN_SET - 376)) | (1L << (COMPRESSION_DELAY - 376)) | (1L << (DATABASE_DEAULT - 376)) | (1L << (DATA_COMPRESSION - 376)) | (1L << (DATA_CONSISTENCY_CHECK - 376)) | (1L << (ENCRYPTION_TYPE - 376)) | (1L << (SYSTEM_TIME - 376)) | (1L << (SYSTEM_VERSIONING - 376)) | (1L << (TEXTIMAGE_ON - 376)) | (1L << (WAIT_AT_LOW_PRIORITY - 376)) | (1L << (STATISTICS_INCREMENTAL - 376)) | (1L << (STATISTICS_NORECOMPUTE - 376)) | (1L << (ROUND_ROBIN - 376)) | (1L << (SCHEMA_AND_DATA - 376)) | (1L << (SCHEMA_ONLY - 376)) | (1L << (SORT_IN_TEMPDB - 376)) | (1L << (IGNORE_DUP_KEY - 376)) | (1L << (IMPLICIT_TRANSACTIONS - 376)) | (1L << (MAX_DURATION - 376)) | (1L << (MEMORY_OPTIMIZED - 376)) | (1L << (MIGRATION_STATE - 376)) | (1L << (PAD_INDEX - 376)) | (1L << (REMOTE_DATA_ARCHIVE - 376)) | (1L << (FILESTREAM_ON - 376)) | (1L << (FILETABLE_COLLATE_FILENAME - 376)) | (1L << (FILETABLE_DIRECTORY - 376)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 376)))) != 0) || ((((_la - 440)) & ~0x3f) == 0 && ((1L << (_la - 440)) & ((1L << (FILTER_PREDICATE - 440)) | (1L << (HISTORY_RETENTION_PERIOD - 440)) | (1L << (HISTORY_TABLE - 440)) | (1L << (LOCK_ESCALATION - 440)) | (1L << (DROP_EXISTING - 440)) | (1L << (ROW_NUMBER - 440)) | (1L << (FIRST - 440)) | (1L << (DATETIME2 - 440)) | (1L << (OUTPUT - 440)) | (1L << (INSERTED - 440)) | (1L << (DELETED - 440)))) != 0) || ((((_la - 504)) & ~0x3f) == 0 && ((1L << (_la - 504)) & ((1L << (FILENAME - 504)) | (1L << (SIZE - 504)) | (1L << (MAXSIZE - 504)) | (1L << (FILEGROWTH - 504)) | (1L << (UNLIMITED - 504)) | (1L << (KB - 504)) | (1L << (MB - 504)) | (1L << (GB - 504)) | (1L << (TB - 504)) | (1L << (CONTAINS - 504)) | (1L << (MEMORY_OPTIMIZED_DATA - 504)) | (1L << (FILEGROUP - 504)) | (1L << (NON_TRANSACTED_ACCESS - 504)) | (1L << (DB_CHAINING - 504)) | (1L << (TRUSTWORTHY - 504)) | (1L << (FORWARD_ONLY - 504)) | (1L << (KEYSET - 504)) | (1L << (FAST_FORWARD - 504)) | (1L << (SCROLL_LOCKS - 504)) | (1L << (OPTIMISTIC - 504)) | (1L << (TYPE_WARNING - 504)) | (1L << (SCHEMABINDING - 504)) | (1L << (CALLER - 504)) | (1L << (INPUT - 504)) | (1L << (OWNER - 504)) | (1L << (SNAPSHOT - 504)) | (1L << (REPEATABLE - 504)) | (1L << (SERIALIZABLE - 504)) | (1L << (NATIVE_COMPILATION - 504)) | (1L << (VIEW_METADATA - 504)) | (1L << (INSTEAD - 504)) | (1L << (APPEND - 504)) | (1L << (INCREMENT - 504)) | (1L << (CACHE - 504)) | (1L << (MINVALUE - 504)) | (1L << (MAXVALUE - 504)) | (1L << (RESTART - 504)) | (1L << (LOB_COMPACTION - 504)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 504)) | (1L << (REORGANIZE - 504)) | (1L << (RESUME - 504)) | (1L << (PAUSE - 504)) | (1L << (ABORT - 504)))) != 0) || ((((_la - 570)) & ~0x3f) == 0 && ((1L << (_la - 570)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 570)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 570)) | (1L << (IMMEDIATE - 570)) | (1L << (NO_WAIT - 570)) | (1L << (TARGET_RECOVERY_TIME - 570)) | (1L << (SECONDS - 570)) | (1L << (HONOR_BROKER_PRIORITY - 570)) | (1L << (ERROR_BROKER_CONVERSATIONS - 570)) | (1L << (NEW_BROKER - 570)) | (1L << (DISABLE_BROKER - 570)) | (1L << (ENABLE_BROKER - 570)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 570)) | (1L << (READ_COMMITTED_SNAPSHOT - 570)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 570)) | (1L << (RECURSIVE_TRIGGERS - 570)) | (1L << (QUOTED_IDENTIFIER - 570)) | (1L << (NUMERIC_ROUNDABORT - 570)) | (1L << (CONCAT_NULL_YIELDS_NULL - 570)) | (1L << (COMPATIBILITY_LEVEL - 570)) | (1L << (ARITHABORT - 570)) | (1L << (ANSI_WARNINGS - 570)) | (1L << (ANSI_PADDING - 570)) | (1L << (ANSI_NULLS - 570)) | (1L << (ANSI_NULL_DEFAULT - 570)) | (1L << (PAGE_VERIFY - 570)) | (1L << (CHECKSUM - 570)) | (1L << (TORN_PAGE_DETECTION - 570)) | (1L << (BULK_LOGGED - 570)) | (1L << (RECOVERY - 570)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 570)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 570)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 570)) | (1L << (EXECUTION_COUNT - 570)) | (1L << (QUERY_CAPTURE_POLICY - 570)) | (1L << (WAIT_STATS_CAPTURE_MODE - 570)) | (1L << (MAX_PLANS_PER_QUERY - 570)) | (1L << (QUERY_CAPTURE_MODE - 570)) | (1L << (SIZE_BASED_CLEANUP_MODE - 570)) | (1L << (INTERVAL_LENGTH_MINUTES - 570)) | (1L << (MAX_STORAGE_SIZE_MB - 570)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 570)) | (1L << (CLEANUP_POLICY - 570)) | (1L << (CUSTOM - 570)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 570)) | (1L << (OPERATION_MODE - 570)) | (1L << (QUERY_STORE - 570)) | (1L << (CURSOR_DEFAULT - 570)) | (1L << (GLOBAL - 570)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 570)) | (1L << (HOURS - 570)) | (1L << (CHANGE_RETENTION - 570)) | (1L << (AUTO_CLEANUP - 570)) | (1L << (CHANGE_TRACKING - 570)) | (1L << (AUTOMATIC_TUNING - 570)) | (1L << (FORCE_LAST_GOOD_PLAN - 570)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 570)) | (1L << (AUTO_UPDATE_STATISTICS - 570)) | (1L << (AUTO_SHRINK - 570)) | (1L << (AUTO_CREATE_STATISTICS - 570)) | (1L << (INCREMENTAL - 570)) | (1L << (AUTO_CLOSE - 570)) | (1L << (DATA_RETENTION - 570)) | (1L << (TEMPORAL_HISTORY_RETENTION - 570)) | (1L << (EDITION - 570)))) != 0) || ((((_la - 634)) & ~0x3f) == 0 && ((1L << (_la - 634)) & ((1L << (MIXED_PAGE_ALLOCATION - 634)) | (1L << (DISABLED - 634)) | (1L << (ALLOWED - 634)) | (1L << (HADR - 634)) | (1L << (MULTI_USER - 634)) | (1L << (RESTRICTED_USER - 634)) | (1L << (SINGLE_USER - 634)) | (1L << (OFFLINE - 634)) | (1L << (EMERGENCY - 634)) | (1L << (SUSPEND - 634)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 634)) | (1L << (ELASTIC_POOL - 634)) | (1L << (SERVICE_OBJECTIVE - 634)) | (1L << (DATABASE_NAME - 634)) | (1L << (ALLOW_CONNECTIONS - 634)) | (1L << (GEO - 634)) | (1L << (NAMED - 634)) | (1L << (DATEFIRST - 634)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 634)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 634)) | (1L << (SECONDARY - 634)) | (1L << (FAILOVER - 634)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 634)) | (1L << (DEFAULT_LANGUAGE - 634)) | (1L << (INLINE - 634)) | (1L << (NESTED_TRIGGERS - 634)) | (1L << (TRANSFORM_NOISE_WORDS - 634)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 634)) | (1L << (PERSISTENT_LOG_BUFFER - 634)) | (1L << (DIRECTORY_NAME - 634)) | (1L << (DATEFORMAT - 634)) | (1L << (DELAYED_DURABILITY - 634)) | (1L << (AUTHORIZATION - 634)) | (1L << (TRANSFER - 634)) | (1L << (PROVIDER - 634)) | (1L << (SEARCH - 634)) | (1L << (MEMBER - 634)))) != 0) || _la==IDENTIFIER_ || _la==DELIMITED_IDENTIFIER_) {
28256 {
28257 setState(3989);
28258 procParameter();
28259 setState(3994);
28260 _errHandler.sync(this);
28261 _la = _input.LA(1);
28262 while (_la==COMMA_) {
28263 {
28264 {
28265 setState(3990);
28266 match(COMMA_);
28267 setState(3991);
28268 procParameter();
28269 }
28270 }
28271 setState(3996);
28272 _errHandler.sync(this);
28273 _la = _input.LA(1);
28274 }
28275 }
28276 }
28277
28278 }
28279 }
28280 catch (RecognitionException re) {
28281 _localctx.exception = re;
28282 _errHandler.reportError(this, re);
28283 _errHandler.recover(this, re);
28284 }
28285 finally {
28286 exitRule();
28287 }
28288 return _localctx;
28289 }
28290
28291 public static class ProcParameterContext extends ParserRuleContext {
28292 public VariableContext variable() {
28293 return getRuleContext(VariableContext.class,0);
28294 }
28295 public TerminalNode VARYING() { return getToken(SQLServerStatementParser.VARYING, 0); }
28296 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
28297 public LiteralsContext literals() {
28298 return getRuleContext(LiteralsContext.class,0);
28299 }
28300 public TerminalNode OUT() { return getToken(SQLServerStatementParser.OUT, 0); }
28301 public TerminalNode OUTPUT() { return getToken(SQLServerStatementParser.OUTPUT, 0); }
28302 public TerminalNode READONLY() { return getToken(SQLServerStatementParser.READONLY, 0); }
28303 public ProcParameterContext(ParserRuleContext parent, int invokingState) {
28304 super(parent, invokingState);
28305 }
28306 @Override public int getRuleIndex() { return RULE_procParameter; }
28307 @Override
28308 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28309 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcParameter(this);
28310 else return visitor.visitChildren(this);
28311 }
28312 }
28313
28314 public final ProcParameterContext procParameter() throws RecognitionException {
28315 ProcParameterContext _localctx = new ProcParameterContext(_ctx, getState());
28316 enterRule(_localctx, 580, RULE_procParameter);
28317 int _la;
28318 try {
28319 enterOuterAlt(_localctx, 1);
28320 {
28321 setState(3999);
28322 variable();
28323 setState(4001);
28324 _errHandler.sync(this);
28325 _la = _input.LA(1);
28326 if (_la==VARYING) {
28327 {
28328 setState(4000);
28329 match(VARYING);
28330 }
28331 }
28332
28333 setState(4005);
28334 _errHandler.sync(this);
28335 _la = _input.LA(1);
28336 if (_la==EQ_) {
28337 {
28338 setState(4003);
28339 match(EQ_);
28340 setState(4004);
28341 literals();
28342 }
28343 }
28344
28345 setState(4008);
28346 _errHandler.sync(this);
28347 _la = _input.LA(1);
28348 if (_la==READONLY || _la==OUTPUT || _la==OUT) {
28349 {
28350 setState(4007);
28351 _la = _input.LA(1);
28352 if ( !(_la==READONLY || _la==OUTPUT || _la==OUT) ) {
28353 _errHandler.recoverInline(this);
28354 }
28355 else {
28356 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
28357 _errHandler.reportMatch(this);
28358 consume();
28359 }
28360 }
28361 }
28362
28363 }
28364 }
28365 catch (RecognitionException re) {
28366 _localctx.exception = re;
28367 _errHandler.reportError(this, re);
28368 _errHandler.recover(this, re);
28369 }
28370 finally {
28371 exitRule();
28372 }
28373 return _localctx;
28374 }
28375
28376 public static class CreateOrAlterProcClauseContext extends ParserRuleContext {
28377 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
28378 public ProcAsClauseContext procAsClause() {
28379 return getRuleContext(ProcAsClauseContext.class,0);
28380 }
28381 public WithCreateProcOptionContext withCreateProcOption() {
28382 return getRuleContext(WithCreateProcOptionContext.class,0);
28383 }
28384 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
28385 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
28386 public CreateOrAlterProcClauseContext(ParserRuleContext parent, int invokingState) {
28387 super(parent, invokingState);
28388 }
28389 @Override public int getRuleIndex() { return RULE_createOrAlterProcClause; }
28390 @Override
28391 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28392 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateOrAlterProcClause(this);
28393 else return visitor.visitChildren(this);
28394 }
28395 }
28396
28397 public final CreateOrAlterProcClauseContext createOrAlterProcClause() throws RecognitionException {
28398 CreateOrAlterProcClauseContext _localctx = new CreateOrAlterProcClauseContext(_ctx, getState());
28399 enterRule(_localctx, 582, RULE_createOrAlterProcClause);
28400 int _la;
28401 try {
28402 enterOuterAlt(_localctx, 1);
28403 {
28404 setState(4011);
28405 _errHandler.sync(this);
28406 _la = _input.LA(1);
28407 if (_la==WITH) {
28408 {
28409 setState(4010);
28410 withCreateProcOption();
28411 }
28412 }
28413
28414 setState(4015);
28415 _errHandler.sync(this);
28416 _la = _input.LA(1);
28417 if (_la==FOR) {
28418 {
28419 setState(4013);
28420 match(FOR);
28421 setState(4014);
28422 match(REPLICATION);
28423 }
28424 }
28425
28426 setState(4017);
28427 match(AS);
28428 setState(4018);
28429 procAsClause();
28430 }
28431 }
28432 catch (RecognitionException re) {
28433 _localctx.exception = re;
28434 _errHandler.reportError(this, re);
28435 _errHandler.recover(this, re);
28436 }
28437 finally {
28438 exitRule();
28439 }
28440 return _localctx;
28441 }
28442
28443 public static class WithCreateProcOptionContext extends ParserRuleContext {
28444 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
28445 public List<ProcOptionContext> procOption() {
28446 return getRuleContexts(ProcOptionContext.class);
28447 }
28448 public ProcOptionContext procOption(int i) {
28449 return getRuleContext(ProcOptionContext.class,i);
28450 }
28451 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
28452 public TerminalNode COMMA_(int i) {
28453 return getToken(SQLServerStatementParser.COMMA_, i);
28454 }
28455 public WithCreateProcOptionContext(ParserRuleContext parent, int invokingState) {
28456 super(parent, invokingState);
28457 }
28458 @Override public int getRuleIndex() { return RULE_withCreateProcOption; }
28459 @Override
28460 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28461 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithCreateProcOption(this);
28462 else return visitor.visitChildren(this);
28463 }
28464 }
28465
28466 public final WithCreateProcOptionContext withCreateProcOption() throws RecognitionException {
28467 WithCreateProcOptionContext _localctx = new WithCreateProcOptionContext(_ctx, getState());
28468 enterRule(_localctx, 584, RULE_withCreateProcOption);
28469 int _la;
28470 try {
28471 enterOuterAlt(_localctx, 1);
28472 {
28473 setState(4020);
28474 match(WITH);
28475 setState(4029);
28476 _errHandler.sync(this);
28477 _la = _input.LA(1);
28478 if (((((_la - 325)) & ~0x3f) == 0 && ((1L << (_la - 325)) & ((1L << (EXECUTE - 325)) | (1L << (EXEC - 325)) | (1L << (ENCRYPTION - 325)))) != 0) || ((((_la - 496)) & ~0x3f) == 0 && ((1L << (_la - 496)) & ((1L << (RECOMPILE - 496)) | (1L << (SCHEMABINDING - 496)) | (1L << (NATIVE_COMPILATION - 496)))) != 0)) {
28479 {
28480 setState(4021);
28481 procOption();
28482 setState(4026);
28483 _errHandler.sync(this);
28484 _la = _input.LA(1);
28485 while (_la==COMMA_) {
28486 {
28487 {
28488 setState(4022);
28489 match(COMMA_);
28490 setState(4023);
28491 procOption();
28492 }
28493 }
28494 setState(4028);
28495 _errHandler.sync(this);
28496 _la = _input.LA(1);
28497 }
28498 }
28499 }
28500
28501 }
28502 }
28503 catch (RecognitionException re) {
28504 _localctx.exception = re;
28505 _errHandler.reportError(this, re);
28506 _errHandler.recover(this, re);
28507 }
28508 finally {
28509 exitRule();
28510 }
28511 return _localctx;
28512 }
28513
28514 public static class ProcOptionContext extends ParserRuleContext {
28515 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
28516 public TerminalNode RECOMPILE() { return getToken(SQLServerStatementParser.RECOMPILE, 0); }
28517 public ExecuteAsClauseContext executeAsClause() {
28518 return getRuleContext(ExecuteAsClauseContext.class,0);
28519 }
28520 public TerminalNode NATIVE_COMPILATION() { return getToken(SQLServerStatementParser.NATIVE_COMPILATION, 0); }
28521 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
28522 public ProcOptionContext(ParserRuleContext parent, int invokingState) {
28523 super(parent, invokingState);
28524 }
28525 @Override public int getRuleIndex() { return RULE_procOption; }
28526 @Override
28527 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28528 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcOption(this);
28529 else return visitor.visitChildren(this);
28530 }
28531 }
28532
28533 public final ProcOptionContext procOption() throws RecognitionException {
28534 ProcOptionContext _localctx = new ProcOptionContext(_ctx, getState());
28535 enterRule(_localctx, 586, RULE_procOption);
28536 try {
28537 setState(4036);
28538 _errHandler.sync(this);
28539 switch (_input.LA(1)) {
28540 case ENCRYPTION:
28541 enterOuterAlt(_localctx, 1);
28542 {
28543 setState(4031);
28544 match(ENCRYPTION);
28545 }
28546 break;
28547 case RECOMPILE:
28548 enterOuterAlt(_localctx, 2);
28549 {
28550 setState(4032);
28551 match(RECOMPILE);
28552 }
28553 break;
28554 case EXECUTE:
28555 case EXEC:
28556 enterOuterAlt(_localctx, 3);
28557 {
28558 setState(4033);
28559 executeAsClause();
28560 }
28561 break;
28562 case NATIVE_COMPILATION:
28563 enterOuterAlt(_localctx, 4);
28564 {
28565 setState(4034);
28566 match(NATIVE_COMPILATION);
28567 }
28568 break;
28569 case SCHEMABINDING:
28570 enterOuterAlt(_localctx, 5);
28571 {
28572 setState(4035);
28573 match(SCHEMABINDING);
28574 }
28575 break;
28576 default:
28577 throw new NoViableAltException(this);
28578 }
28579 }
28580 catch (RecognitionException re) {
28581 _localctx.exception = re;
28582 _errHandler.reportError(this, re);
28583 _errHandler.recover(this, re);
28584 }
28585 finally {
28586 exitRule();
28587 }
28588 return _localctx;
28589 }
28590
28591 public static class ProcAsClauseContext extends ParserRuleContext {
28592 public CompoundStatementContext compoundStatement() {
28593 return getRuleContext(CompoundStatementContext.class,0);
28594 }
28595 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
28596 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
28597 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
28598 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
28599 public NameContext name() {
28600 return getRuleContext(NameContext.class,0);
28601 }
28602 public List<OwnerContext> owner() {
28603 return getRuleContexts(OwnerContext.class);
28604 }
28605 public OwnerContext owner(int i) {
28606 return getRuleContext(OwnerContext.class,i);
28607 }
28608 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
28609 public TerminalNode DOT_(int i) {
28610 return getToken(SQLServerStatementParser.DOT_, i);
28611 }
28612 public TerminalNode ATOMIC() { return getToken(SQLServerStatementParser.ATOMIC, 0); }
28613 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
28614 public List<ProcSetOptionContext> procSetOption() {
28615 return getRuleContexts(ProcSetOptionContext.class);
28616 }
28617 public ProcSetOptionContext procSetOption(int i) {
28618 return getRuleContext(ProcSetOptionContext.class,i);
28619 }
28620 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
28621 public TerminalNode COMMA_(int i) {
28622 return getToken(SQLServerStatementParser.COMMA_, i);
28623 }
28624 public ProcAsClauseContext(ParserRuleContext parent, int invokingState) {
28625 super(parent, invokingState);
28626 }
28627 @Override public int getRuleIndex() { return RULE_procAsClause; }
28628 @Override
28629 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28630 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcAsClause(this);
28631 else return visitor.visitChildren(this);
28632 }
28633 }
28634
28635 public final ProcAsClauseContext procAsClause() throws RecognitionException {
28636 ProcAsClauseContext _localctx = new ProcAsClauseContext(_ctx, getState());
28637 enterRule(_localctx, 588, RULE_procAsClause);
28638 int _la;
28639 try {
28640 setState(4073);
28641 _errHandler.sync(this);
28642 switch ( getInterpreter().adaptivePredict(_input,427,_ctx) ) {
28643 case 1:
28644 enterOuterAlt(_localctx, 1);
28645 {
28646 setState(4039);
28647 _errHandler.sync(this);
28648 _la = _input.LA(1);
28649 if (_la==BEGIN) {
28650 {
28651 setState(4038);
28652 match(BEGIN);
28653 }
28654 }
28655
28656 setState(4041);
28657 compoundStatement();
28658 setState(4043);
28659 _errHandler.sync(this);
28660 _la = _input.LA(1);
28661 if (_la==END) {
28662 {
28663 setState(4042);
28664 match(END);
28665 }
28666 }
28667
28668 }
28669 break;
28670 case 2:
28671 enterOuterAlt(_localctx, 2);
28672 {
28673 setState(4045);
28674 match(EXTERNAL);
28675 setState(4046);
28676 match(NAME);
28677 setState(4050);
28678 _errHandler.sync(this);
28679 switch ( getInterpreter().adaptivePredict(_input,423,_ctx) ) {
28680 case 1:
28681 {
28682 setState(4047);
28683 owner();
28684 setState(4048);
28685 match(DOT_);
28686 }
28687 break;
28688 }
28689 setState(4055);
28690 _errHandler.sync(this);
28691 switch ( getInterpreter().adaptivePredict(_input,424,_ctx) ) {
28692 case 1:
28693 {
28694 setState(4052);
28695 owner();
28696 setState(4053);
28697 match(DOT_);
28698 }
28699 break;
28700 }
28701 setState(4057);
28702 name();
28703 }
28704 break;
28705 case 3:
28706 enterOuterAlt(_localctx, 3);
28707 {
28708 setState(4058);
28709 match(BEGIN);
28710 setState(4059);
28711 match(ATOMIC);
28712 setState(4060);
28713 match(WITH);
28714 setState(4061);
28715 procSetOption();
28716 setState(4066);
28717 _errHandler.sync(this);
28718 _la = _input.LA(1);
28719 while (_la==COMMA_) {
28720 {
28721 {
28722 setState(4062);
28723 match(COMMA_);
28724 setState(4063);
28725 procSetOption();
28726 }
28727 }
28728 setState(4068);
28729 _errHandler.sync(this);
28730 _la = _input.LA(1);
28731 }
28732 setState(4069);
28733 compoundStatement();
28734 setState(4071);
28735 _errHandler.sync(this);
28736 _la = _input.LA(1);
28737 if (_la==END) {
28738 {
28739 setState(4070);
28740 match(END);
28741 }
28742 }
28743
28744 }
28745 break;
28746 }
28747 }
28748 catch (RecognitionException re) {
28749 _localctx.exception = re;
28750 _errHandler.reportError(this, re);
28751 _errHandler.recover(this, re);
28752 }
28753 finally {
28754 exitRule();
28755 }
28756 return _localctx;
28757 }
28758
28759 public static class ProcSetOptionContext extends ParserRuleContext {
28760 public TerminalNode LANGUAGE() { return getToken(SQLServerStatementParser.LANGUAGE, 0); }
28761 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
28762 public StringLiteralsContext stringLiterals() {
28763 return getRuleContext(StringLiteralsContext.class,0);
28764 }
28765 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
28766 public TerminalNode ISOLATION() { return getToken(SQLServerStatementParser.ISOLATION, 0); }
28767 public TerminalNode LEVEL() { return getToken(SQLServerStatementParser.LEVEL, 0); }
28768 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
28769 public TerminalNode REPEATABLE() { return getToken(SQLServerStatementParser.REPEATABLE, 0); }
28770 public TerminalNode READ() { return getToken(SQLServerStatementParser.READ, 0); }
28771 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
28772 public TerminalNode DATEFIRST() { return getToken(SQLServerStatementParser.DATEFIRST, 0); }
28773 public NumberLiteralsContext numberLiterals() {
28774 return getRuleContext(NumberLiteralsContext.class,0);
28775 }
28776 public TerminalNode DATEFORMAT() { return getToken(SQLServerStatementParser.DATEFORMAT, 0); }
28777 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
28778 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
28779 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
28780 public ProcSetOptionContext(ParserRuleContext parent, int invokingState) {
28781 super(parent, invokingState);
28782 }
28783 @Override public int getRuleIndex() { return RULE_procSetOption; }
28784 @Override
28785 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28786 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcSetOption(this);
28787 else return visitor.visitChildren(this);
28788 }
28789 }
28790
28791 public final ProcSetOptionContext procSetOption() throws RecognitionException {
28792 ProcSetOptionContext _localctx = new ProcSetOptionContext(_ctx, getState());
28793 enterRule(_localctx, 590, RULE_procSetOption);
28794 int _la;
28795 try {
28796 setState(4097);
28797 _errHandler.sync(this);
28798 switch (_input.LA(1)) {
28799 case LANGUAGE:
28800 enterOuterAlt(_localctx, 1);
28801 {
28802 setState(4075);
28803 match(LANGUAGE);
28804 setState(4076);
28805 match(EQ_);
28806 setState(4077);
28807 stringLiterals();
28808 }
28809 break;
28810 case TRANSACTION:
28811 enterOuterAlt(_localctx, 2);
28812 {
28813 setState(4078);
28814 match(TRANSACTION);
28815 setState(4079);
28816 match(ISOLATION);
28817 setState(4080);
28818 match(LEVEL);
28819 setState(4081);
28820 match(EQ_);
28821 setState(4086);
28822 _errHandler.sync(this);
28823 switch (_input.LA(1)) {
28824 case SNAPSHOT:
28825 {
28826 setState(4082);
28827 match(SNAPSHOT);
28828 }
28829 break;
28830 case REPEATABLE:
28831 {
28832 setState(4083);
28833 match(REPEATABLE);
28834 setState(4084);
28835 match(READ);
28836 }
28837 break;
28838 case SERIALIZABLE:
28839 {
28840 setState(4085);
28841 match(SERIALIZABLE);
28842 }
28843 break;
28844 default:
28845 throw new NoViableAltException(this);
28846 }
28847 }
28848 break;
28849 case DATEFIRST:
28850 enterOuterAlt(_localctx, 3);
28851 {
28852 setState(4088);
28853 match(DATEFIRST);
28854 setState(4089);
28855 match(EQ_);
28856 setState(4090);
28857 numberLiterals();
28858 }
28859 break;
28860 case DATEFORMAT:
28861 enterOuterAlt(_localctx, 4);
28862 {
28863 setState(4091);
28864 match(DATEFORMAT);
28865 setState(4092);
28866 match(EQ_);
28867 setState(4093);
28868 stringLiterals();
28869 }
28870 break;
28871 case DELAYED_DURABILITY:
28872 enterOuterAlt(_localctx, 5);
28873 {
28874 setState(4094);
28875 match(DELAYED_DURABILITY);
28876 setState(4095);
28877 match(EQ_);
28878 setState(4096);
28879 _la = _input.LA(1);
28880 if ( !(_la==ON || _la==OFF) ) {
28881 _errHandler.recoverInline(this);
28882 }
28883 else {
28884 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
28885 _errHandler.reportMatch(this);
28886 consume();
28887 }
28888 }
28889 break;
28890 default:
28891 throw new NoViableAltException(this);
28892 }
28893 }
28894 catch (RecognitionException re) {
28895 _localctx.exception = re;
28896 _errHandler.reportError(this, re);
28897 _errHandler.recover(this, re);
28898 }
28899 finally {
28900 exitRule();
28901 }
28902 return _localctx;
28903 }
28904
28905 public static class CreateOrAlterViewClauseContext extends ParserRuleContext {
28906 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
28907 public SelectContext select() {
28908 return getRuleContext(SelectContext.class,0);
28909 }
28910 public List<TerminalNode> WITH() { return getTokens(SQLServerStatementParser.WITH); }
28911 public TerminalNode WITH(int i) {
28912 return getToken(SQLServerStatementParser.WITH, i);
28913 }
28914 public List<ViewAttributeContext> viewAttribute() {
28915 return getRuleContexts(ViewAttributeContext.class);
28916 }
28917 public ViewAttributeContext viewAttribute(int i) {
28918 return getRuleContext(ViewAttributeContext.class,i);
28919 }
28920 public WithCommonTableExprContext withCommonTableExpr() {
28921 return getRuleContext(WithCommonTableExprContext.class,0);
28922 }
28923 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
28924 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
28925 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
28926 public TerminalNode COMMA_(int i) {
28927 return getToken(SQLServerStatementParser.COMMA_, i);
28928 }
28929 public CreateOrAlterViewClauseContext(ParserRuleContext parent, int invokingState) {
28930 super(parent, invokingState);
28931 }
28932 @Override public int getRuleIndex() { return RULE_createOrAlterViewClause; }
28933 @Override
28934 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28935 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateOrAlterViewClause(this);
28936 else return visitor.visitChildren(this);
28937 }
28938 }
28939
28940 public final CreateOrAlterViewClauseContext createOrAlterViewClause() throws RecognitionException {
28941 CreateOrAlterViewClauseContext _localctx = new CreateOrAlterViewClauseContext(_ctx, getState());
28942 enterRule(_localctx, 592, RULE_createOrAlterViewClause);
28943 int _la;
28944 try {
28945 enterOuterAlt(_localctx, 1);
28946 {
28947 setState(4108);
28948 _errHandler.sync(this);
28949 _la = _input.LA(1);
28950 if (_la==WITH) {
28951 {
28952 setState(4099);
28953 match(WITH);
28954 setState(4100);
28955 viewAttribute();
28956 setState(4105);
28957 _errHandler.sync(this);
28958 _la = _input.LA(1);
28959 while (_la==COMMA_) {
28960 {
28961 {
28962 setState(4101);
28963 match(COMMA_);
28964 setState(4102);
28965 viewAttribute();
28966 }
28967 }
28968 setState(4107);
28969 _errHandler.sync(this);
28970 _la = _input.LA(1);
28971 }
28972 }
28973 }
28974
28975 setState(4110);
28976 match(AS);
28977 setState(4112);
28978 _errHandler.sync(this);
28979 switch ( getInterpreter().adaptivePredict(_input,432,_ctx) ) {
28980 case 1:
28981 {
28982 setState(4111);
28983 withCommonTableExpr();
28984 }
28985 break;
28986 }
28987 setState(4114);
28988 select();
28989 setState(4118);
28990 _errHandler.sync(this);
28991 _la = _input.LA(1);
28992 if (_la==WITH) {
28993 {
28994 setState(4115);
28995 match(WITH);
28996 setState(4116);
28997 match(CHECK);
28998 setState(4117);
28999 match(OPTION);
29000 }
29001 }
29002
29003 }
29004 }
29005 catch (RecognitionException re) {
29006 _localctx.exception = re;
29007 _errHandler.reportError(this, re);
29008 _errHandler.recover(this, re);
29009 }
29010 finally {
29011 exitRule();
29012 }
29013 return _localctx;
29014 }
29015
29016 public static class ViewAttributeContext extends ParserRuleContext {
29017 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
29018 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
29019 public TerminalNode VIEW_METADATA() { return getToken(SQLServerStatementParser.VIEW_METADATA, 0); }
29020 public ViewAttributeContext(ParserRuleContext parent, int invokingState) {
29021 super(parent, invokingState);
29022 }
29023 @Override public int getRuleIndex() { return RULE_viewAttribute; }
29024 @Override
29025 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29026 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitViewAttribute(this);
29027 else return visitor.visitChildren(this);
29028 }
29029 }
29030
29031 public final ViewAttributeContext viewAttribute() throws RecognitionException {
29032 ViewAttributeContext _localctx = new ViewAttributeContext(_ctx, getState());
29033 enterRule(_localctx, 594, RULE_viewAttribute);
29034 int _la;
29035 try {
29036 enterOuterAlt(_localctx, 1);
29037 {
29038 setState(4120);
29039 _la = _input.LA(1);
29040 if ( !(_la==ENCRYPTION || _la==SCHEMABINDING || _la==VIEW_METADATA) ) {
29041 _errHandler.recoverInline(this);
29042 }
29043 else {
29044 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29045 _errHandler.reportMatch(this);
29046 consume();
29047 }
29048 }
29049 }
29050 catch (RecognitionException re) {
29051 _localctx.exception = re;
29052 _errHandler.reportError(this, re);
29053 _errHandler.recover(this, re);
29054 }
29055 finally {
29056 exitRule();
29057 }
29058 return _localctx;
29059 }
29060
29061 public static class WithCommonTableExprContext extends ParserRuleContext {
29062 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
29063 public List<CommonTableExprContext> commonTableExpr() {
29064 return getRuleContexts(CommonTableExprContext.class);
29065 }
29066 public CommonTableExprContext commonTableExpr(int i) {
29067 return getRuleContext(CommonTableExprContext.class,i);
29068 }
29069 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
29070 public TerminalNode COMMA_(int i) {
29071 return getToken(SQLServerStatementParser.COMMA_, i);
29072 }
29073 public WithCommonTableExprContext(ParserRuleContext parent, int invokingState) {
29074 super(parent, invokingState);
29075 }
29076 @Override public int getRuleIndex() { return RULE_withCommonTableExpr; }
29077 @Override
29078 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29079 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithCommonTableExpr(this);
29080 else return visitor.visitChildren(this);
29081 }
29082 }
29083
29084 public final WithCommonTableExprContext withCommonTableExpr() throws RecognitionException {
29085 WithCommonTableExprContext _localctx = new WithCommonTableExprContext(_ctx, getState());
29086 enterRule(_localctx, 596, RULE_withCommonTableExpr);
29087 int _la;
29088 try {
29089 enterOuterAlt(_localctx, 1);
29090 {
29091 setState(4122);
29092 match(WITH);
29093 setState(4123);
29094 commonTableExpr();
29095 setState(4128);
29096 _errHandler.sync(this);
29097 _la = _input.LA(1);
29098 while (_la==COMMA_) {
29099 {
29100 {
29101 setState(4124);
29102 match(COMMA_);
29103 setState(4125);
29104 commonTableExpr();
29105 }
29106 }
29107 setState(4130);
29108 _errHandler.sync(this);
29109 _la = _input.LA(1);
29110 }
29111 }
29112 }
29113 catch (RecognitionException re) {
29114 _localctx.exception = re;
29115 _errHandler.reportError(this, re);
29116 _errHandler.recover(this, re);
29117 }
29118 finally {
29119 exitRule();
29120 }
29121 return _localctx;
29122 }
29123
29124 public static class CommonTableExprContext extends ParserRuleContext {
29125 public NameContext name() {
29126 return getRuleContext(NameContext.class,0);
29127 }
29128 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
29129 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
29130 public TerminalNode LP_(int i) {
29131 return getToken(SQLServerStatementParser.LP_, i);
29132 }
29133 public SelectContext select() {
29134 return getRuleContext(SelectContext.class,0);
29135 }
29136 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
29137 public TerminalNode RP_(int i) {
29138 return getToken(SQLServerStatementParser.RP_, i);
29139 }
29140 public List<ColumnNameContext> columnName() {
29141 return getRuleContexts(ColumnNameContext.class);
29142 }
29143 public ColumnNameContext columnName(int i) {
29144 return getRuleContext(ColumnNameContext.class,i);
29145 }
29146 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
29147 public TerminalNode COMMA_(int i) {
29148 return getToken(SQLServerStatementParser.COMMA_, i);
29149 }
29150 public CommonTableExprContext(ParserRuleContext parent, int invokingState) {
29151 super(parent, invokingState);
29152 }
29153 @Override public int getRuleIndex() { return RULE_commonTableExpr; }
29154 @Override
29155 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29156 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommonTableExpr(this);
29157 else return visitor.visitChildren(this);
29158 }
29159 }
29160
29161 public final CommonTableExprContext commonTableExpr() throws RecognitionException {
29162 CommonTableExprContext _localctx = new CommonTableExprContext(_ctx, getState());
29163 enterRule(_localctx, 598, RULE_commonTableExpr);
29164 int _la;
29165 try {
29166 enterOuterAlt(_localctx, 1);
29167 {
29168 setState(4131);
29169 name();
29170 setState(4143);
29171 _errHandler.sync(this);
29172 _la = _input.LA(1);
29173 if (_la==LP_) {
29174 {
29175 setState(4132);
29176 match(LP_);
29177 setState(4133);
29178 columnName();
29179 setState(4138);
29180 _errHandler.sync(this);
29181 _la = _input.LA(1);
29182 while (_la==COMMA_) {
29183 {
29184 {
29185 setState(4134);
29186 match(COMMA_);
29187 setState(4135);
29188 columnName();
29189 }
29190 }
29191 setState(4140);
29192 _errHandler.sync(this);
29193 _la = _input.LA(1);
29194 }
29195 setState(4141);
29196 match(RP_);
29197 }
29198 }
29199
29200 setState(4145);
29201 match(AS);
29202 setState(4146);
29203 match(LP_);
29204 setState(4147);
29205 select();
29206 setState(4148);
29207 match(RP_);
29208 }
29209 }
29210 catch (RecognitionException re) {
29211 _localctx.exception = re;
29212 _errHandler.reportError(this, re);
29213 _errHandler.recover(this, re);
29214 }
29215 finally {
29216 exitRule();
29217 }
29218 return _localctx;
29219 }
29220
29221 public static class CreateTriggerClauseContext extends ParserRuleContext {
29222 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
29223 public List<TerminalNode> FOR() { return getTokens(SQLServerStatementParser.FOR); }
29224 public TerminalNode FOR(int i) {
29225 return getToken(SQLServerStatementParser.FOR, i);
29226 }
29227 public TerminalNode AFTER() { return getToken(SQLServerStatementParser.AFTER, 0); }
29228 public TerminalNode INSTEAD() { return getToken(SQLServerStatementParser.INSTEAD, 0); }
29229 public TerminalNode OF() { return getToken(SQLServerStatementParser.OF, 0); }
29230 public CompoundStatementContext compoundStatement() {
29231 return getRuleContext(CompoundStatementContext.class,0);
29232 }
29233 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
29234 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
29235 public MethodSpecifierContext methodSpecifier() {
29236 return getRuleContext(MethodSpecifierContext.class,0);
29237 }
29238 public List<TerminalNode> WITH() { return getTokens(SQLServerStatementParser.WITH); }
29239 public TerminalNode WITH(int i) {
29240 return getToken(SQLServerStatementParser.WITH, i);
29241 }
29242 public List<DmlTriggerOptionContext> dmlTriggerOption() {
29243 return getRuleContexts(DmlTriggerOptionContext.class);
29244 }
29245 public DmlTriggerOptionContext dmlTriggerOption(int i) {
29246 return getRuleContext(DmlTriggerOptionContext.class,i);
29247 }
29248 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
29249 public TerminalNode COMMA_(int i) {
29250 return getToken(SQLServerStatementParser.COMMA_, i);
29251 }
29252 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
29253 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
29254 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
29255 public TerminalNode APPEND() { return getToken(SQLServerStatementParser.APPEND, 0); }
29256 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
29257 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
29258 public CreateTriggerClauseContext(ParserRuleContext parent, int invokingState) {
29259 super(parent, invokingState);
29260 }
29261 @Override public int getRuleIndex() { return RULE_createTriggerClause; }
29262 @Override
29263 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29264 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTriggerClause(this);
29265 else return visitor.visitChildren(this);
29266 }
29267 }
29268
29269 public final CreateTriggerClauseContext createTriggerClause() throws RecognitionException {
29270 CreateTriggerClauseContext _localctx = new CreateTriggerClauseContext(_ctx, getState());
29271 enterRule(_localctx, 600, RULE_createTriggerClause);
29272 int _la;
29273 try {
29274 enterOuterAlt(_localctx, 1);
29275 {
29276 setState(4155);
29277 _errHandler.sync(this);
29278 _la = _input.LA(1);
29279 if (_la==WITH) {
29280 {
29281 setState(4150);
29282 match(WITH);
29283 setState(4151);
29284 dmlTriggerOption();
29285 setState(4152);
29286 match(COMMA_);
29287 setState(4153);
29288 dmlTriggerOption();
29289 }
29290 }
29291
29292 setState(4161);
29293 _errHandler.sync(this);
29294 switch (_input.LA(1)) {
29295 case FOR:
29296 {
29297 setState(4157);
29298 match(FOR);
29299 }
29300 break;
29301 case AFTER:
29302 {
29303 setState(4158);
29304 match(AFTER);
29305 }
29306 break;
29307 case INSTEAD:
29308 {
29309 setState(4159);
29310 match(INSTEAD);
29311 setState(4160);
29312 match(OF);
29313 }
29314 break;
29315 default:
29316 throw new NoViableAltException(this);
29317 }
29318 setState(4164);
29319 _errHandler.sync(this);
29320 _la = _input.LA(1);
29321 if (_la==INSERT) {
29322 {
29323 setState(4163);
29324 match(INSERT);
29325 }
29326 }
29327
29328 setState(4167);
29329 _errHandler.sync(this);
29330 switch ( getInterpreter().adaptivePredict(_input,440,_ctx) ) {
29331 case 1:
29332 {
29333 setState(4166);
29334 match(COMMA_);
29335 }
29336 break;
29337 }
29338 setState(4170);
29339 _errHandler.sync(this);
29340 _la = _input.LA(1);
29341 if (_la==UPDATE) {
29342 {
29343 setState(4169);
29344 match(UPDATE);
29345 }
29346 }
29347
29348 setState(4173);
29349 _errHandler.sync(this);
29350 switch ( getInterpreter().adaptivePredict(_input,442,_ctx) ) {
29351 case 1:
29352 {
29353 setState(4172);
29354 match(COMMA_);
29355 }
29356 break;
29357 }
29358 setState(4176);
29359 _errHandler.sync(this);
29360 _la = _input.LA(1);
29361 if (_la==DELETE) {
29362 {
29363 setState(4175);
29364 match(DELETE);
29365 }
29366 }
29367
29368 setState(4179);
29369 _errHandler.sync(this);
29370 _la = _input.LA(1);
29371 if (_la==COMMA_) {
29372 {
29373 setState(4178);
29374 match(COMMA_);
29375 }
29376 }
29377
29378 setState(4183);
29379 _errHandler.sync(this);
29380 _la = _input.LA(1);
29381 if (_la==WITH) {
29382 {
29383 setState(4181);
29384 match(WITH);
29385 setState(4182);
29386 match(APPEND);
29387 }
29388 }
29389
29390 setState(4188);
29391 _errHandler.sync(this);
29392 _la = _input.LA(1);
29393 if (_la==NOT) {
29394 {
29395 setState(4185);
29396 match(NOT);
29397 setState(4186);
29398 match(FOR);
29399 setState(4187);
29400 match(REPLICATION);
29401 }
29402 }
29403
29404 setState(4190);
29405 match(AS);
29406 setState(4195);
29407 _errHandler.sync(this);
29408 switch (_input.LA(1)) {
29409 case EOF:
29410 case SEMI_:
29411 case SELECT:
29412 case INSERT:
29413 case UPDATE:
29414 case DELETE:
29415 case CREATE:
29416 case ALTER:
29417 case DROP:
29418 case TRUNCATE:
29419 case SET:
29420 case WITH:
29421 case DECLARE:
29422 {
29423 setState(4191);
29424 compoundStatement();
29425 }
29426 break;
29427 case EXTERNAL:
29428 {
29429 setState(4192);
29430 match(EXTERNAL);
29431 setState(4193);
29432 match(NAME);
29433 setState(4194);
29434 methodSpecifier();
29435 }
29436 break;
29437 default:
29438 throw new NoViableAltException(this);
29439 }
29440 }
29441 }
29442 catch (RecognitionException re) {
29443 _localctx.exception = re;
29444 _errHandler.reportError(this, re);
29445 _errHandler.recover(this, re);
29446 }
29447 finally {
29448 exitRule();
29449 }
29450 return _localctx;
29451 }
29452
29453 public static class DmlTriggerOptionContext extends ParserRuleContext {
29454 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
29455 public ExecuteAsClauseContext executeAsClause() {
29456 return getRuleContext(ExecuteAsClauseContext.class,0);
29457 }
29458 public TerminalNode NATIVE_COMPILATION() { return getToken(SQLServerStatementParser.NATIVE_COMPILATION, 0); }
29459 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
29460 public DmlTriggerOptionContext(ParserRuleContext parent, int invokingState) {
29461 super(parent, invokingState);
29462 }
29463 @Override public int getRuleIndex() { return RULE_dmlTriggerOption; }
29464 @Override
29465 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29466 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDmlTriggerOption(this);
29467 else return visitor.visitChildren(this);
29468 }
29469 }
29470
29471 public final DmlTriggerOptionContext dmlTriggerOption() throws RecognitionException {
29472 DmlTriggerOptionContext _localctx = new DmlTriggerOptionContext(_ctx, getState());
29473 enterRule(_localctx, 602, RULE_dmlTriggerOption);
29474 try {
29475 setState(4202);
29476 _errHandler.sync(this);
29477 switch (_input.LA(1)) {
29478 case ENCRYPTION:
29479 enterOuterAlt(_localctx, 1);
29480 {
29481 setState(4197);
29482 match(ENCRYPTION);
29483 }
29484 break;
29485 case EXECUTE:
29486 case EXEC:
29487 enterOuterAlt(_localctx, 2);
29488 {
29489 setState(4198);
29490 executeAsClause();
29491 }
29492 break;
29493 case NATIVE_COMPILATION:
29494 enterOuterAlt(_localctx, 3);
29495 {
29496 setState(4199);
29497 match(NATIVE_COMPILATION);
29498 }
29499 break;
29500 case SCHEMABINDING:
29501 enterOuterAlt(_localctx, 4);
29502 {
29503 setState(4200);
29504 match(SCHEMABINDING);
29505 }
29506 break;
29507 case COMMA_:
29508 case FOR:
29509 case AFTER:
29510 case INSTEAD:
29511 enterOuterAlt(_localctx, 5);
29512 {
29513 }
29514 break;
29515 default:
29516 throw new NoViableAltException(this);
29517 }
29518 }
29519 catch (RecognitionException re) {
29520 _localctx.exception = re;
29521 _errHandler.reportError(this, re);
29522 _errHandler.recover(this, re);
29523 }
29524 finally {
29525 exitRule();
29526 }
29527 return _localctx;
29528 }
29529
29530 public static class MethodSpecifierContext extends ParserRuleContext {
29531 public List<NameContext> name() {
29532 return getRuleContexts(NameContext.class);
29533 }
29534 public NameContext name(int i) {
29535 return getRuleContext(NameContext.class,i);
29536 }
29537 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
29538 public TerminalNode DOT_(int i) {
29539 return getToken(SQLServerStatementParser.DOT_, i);
29540 }
29541 public MethodSpecifierContext(ParserRuleContext parent, int invokingState) {
29542 super(parent, invokingState);
29543 }
29544 @Override public int getRuleIndex() { return RULE_methodSpecifier; }
29545 @Override
29546 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29547 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMethodSpecifier(this);
29548 else return visitor.visitChildren(this);
29549 }
29550 }
29551
29552 public final MethodSpecifierContext methodSpecifier() throws RecognitionException {
29553 MethodSpecifierContext _localctx = new MethodSpecifierContext(_ctx, getState());
29554 enterRule(_localctx, 604, RULE_methodSpecifier);
29555 try {
29556 enterOuterAlt(_localctx, 1);
29557 {
29558 setState(4204);
29559 name();
29560 setState(4205);
29561 match(DOT_);
29562 setState(4206);
29563 name();
29564 setState(4207);
29565 match(DOT_);
29566 setState(4208);
29567 name();
29568 }
29569 }
29570 catch (RecognitionException re) {
29571 _localctx.exception = re;
29572 _errHandler.reportError(this, re);
29573 _errHandler.recover(this, re);
29574 }
29575 finally {
29576 exitRule();
29577 }
29578 return _localctx;
29579 }
29580
29581 public static class TriggerTargetContext extends ParserRuleContext {
29582 public TableNameContext tableName() {
29583 return getRuleContext(TableNameContext.class,0);
29584 }
29585 public ViewNameContext viewName() {
29586 return getRuleContext(ViewNameContext.class,0);
29587 }
29588 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
29589 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
29590 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
29591 public TriggerTargetContext(ParserRuleContext parent, int invokingState) {
29592 super(parent, invokingState);
29593 }
29594 @Override public int getRuleIndex() { return RULE_triggerTarget; }
29595 @Override
29596 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29597 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTriggerTarget(this);
29598 else return visitor.visitChildren(this);
29599 }
29600 }
29601
29602 public final TriggerTargetContext triggerTarget() throws RecognitionException {
29603 TriggerTargetContext _localctx = new TriggerTargetContext(_ctx, getState());
29604 enterRule(_localctx, 606, RULE_triggerTarget);
29605 try {
29606 setState(4215);
29607 _errHandler.sync(this);
29608 switch ( getInterpreter().adaptivePredict(_input,449,_ctx) ) {
29609 case 1:
29610 enterOuterAlt(_localctx, 1);
29611 {
29612 setState(4210);
29613 tableName();
29614 }
29615 break;
29616 case 2:
29617 enterOuterAlt(_localctx, 2);
29618 {
29619 setState(4211);
29620 viewName();
29621 }
29622 break;
29623 case 3:
29624 enterOuterAlt(_localctx, 3);
29625 {
29626 setState(4212);
29627 match(ALL);
29628 setState(4213);
29629 match(SERVER);
29630 }
29631 break;
29632 case 4:
29633 enterOuterAlt(_localctx, 4);
29634 {
29635 setState(4214);
29636 match(DATABASE);
29637 }
29638 break;
29639 }
29640 }
29641 catch (RecognitionException re) {
29642 _localctx.exception = re;
29643 _errHandler.reportError(this, re);
29644 _errHandler.recover(this, re);
29645 }
29646 finally {
29647 exitRule();
29648 }
29649 return _localctx;
29650 }
29651
29652 public static class CreateOrAlterSequenceClauseContext extends ParserRuleContext {
29653 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
29654 public DataTypeContext dataType() {
29655 return getRuleContext(DataTypeContext.class,0);
29656 }
29657 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
29658 public ExprContext expr() {
29659 return getRuleContext(ExprContext.class,0);
29660 }
29661 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
29662 public TerminalNode RESTART() { return getToken(SQLServerStatementParser.RESTART, 0); }
29663 public TerminalNode INCREMENT() { return getToken(SQLServerStatementParser.INCREMENT, 0); }
29664 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
29665 public TerminalNode MINVALUE() { return getToken(SQLServerStatementParser.MINVALUE, 0); }
29666 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
29667 public TerminalNode MAXVALUE() { return getToken(SQLServerStatementParser.MAXVALUE, 0); }
29668 public TerminalNode CACHE() { return getToken(SQLServerStatementParser.CACHE, 0); }
29669 public TerminalNode CYCLE() { return getToken(SQLServerStatementParser.CYCLE, 0); }
29670 public CreateOrAlterSequenceClauseContext(ParserRuleContext parent, int invokingState) {
29671 super(parent, invokingState);
29672 }
29673 @Override public int getRuleIndex() { return RULE_createOrAlterSequenceClause; }
29674 @Override
29675 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29676 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateOrAlterSequenceClause(this);
29677 else return visitor.visitChildren(this);
29678 }
29679 }
29680
29681 public final CreateOrAlterSequenceClauseContext createOrAlterSequenceClause() throws RecognitionException {
29682 CreateOrAlterSequenceClauseContext _localctx = new CreateOrAlterSequenceClauseContext(_ctx, getState());
29683 enterRule(_localctx, 608, RULE_createOrAlterSequenceClause);
29684 int _la;
29685 try {
29686 setState(4245);
29687 _errHandler.sync(this);
29688 switch ( getInterpreter().adaptivePredict(_input,453,_ctx) ) {
29689 case 1:
29690 enterOuterAlt(_localctx, 1);
29691 {
29692 setState(4217);
29693 match(AS);
29694 setState(4218);
29695 dataType();
29696 }
29697 break;
29698 case 2:
29699 enterOuterAlt(_localctx, 2);
29700 {
29701 setState(4219);
29702 _la = _input.LA(1);
29703 if ( !(_la==START || _la==RESTART) ) {
29704 _errHandler.recoverInline(this);
29705 }
29706 else {
29707 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29708 _errHandler.reportMatch(this);
29709 consume();
29710 }
29711 setState(4220);
29712 match(WITH);
29713 setState(4221);
29714 expr(0);
29715 }
29716 break;
29717 case 3:
29718 enterOuterAlt(_localctx, 3);
29719 {
29720 setState(4222);
29721 match(INCREMENT);
29722 setState(4223);
29723 match(BY);
29724 setState(4224);
29725 expr(0);
29726 }
29727 break;
29728 case 4:
29729 enterOuterAlt(_localctx, 4);
29730 {
29731 setState(4225);
29732 match(MINVALUE);
29733 setState(4227);
29734 _errHandler.sync(this);
29735 switch ( getInterpreter().adaptivePredict(_input,450,_ctx) ) {
29736 case 1:
29737 {
29738 setState(4226);
29739 expr(0);
29740 }
29741 break;
29742 }
29743 }
29744 break;
29745 case 5:
29746 enterOuterAlt(_localctx, 5);
29747 {
29748 setState(4229);
29749 match(NO);
29750 setState(4230);
29751 match(MINVALUE);
29752 }
29753 break;
29754 case 6:
29755 enterOuterAlt(_localctx, 6);
29756 {
29757 setState(4231);
29758 match(MAXVALUE);
29759 setState(4233);
29760 _errHandler.sync(this);
29761 switch ( getInterpreter().adaptivePredict(_input,451,_ctx) ) {
29762 case 1:
29763 {
29764 setState(4232);
29765 expr(0);
29766 }
29767 break;
29768 }
29769 }
29770 break;
29771 case 7:
29772 enterOuterAlt(_localctx, 7);
29773 {
29774 setState(4235);
29775 match(NO);
29776 setState(4236);
29777 match(MAXVALUE);
29778 }
29779 break;
29780 case 8:
29781 enterOuterAlt(_localctx, 8);
29782 {
29783 setState(4237);
29784 match(CACHE);
29785 setState(4238);
29786 expr(0);
29787 }
29788 break;
29789 case 9:
29790 enterOuterAlt(_localctx, 9);
29791 {
29792 setState(4239);
29793 match(NO);
29794 setState(4240);
29795 match(CACHE);
29796 }
29797 break;
29798 case 10:
29799 enterOuterAlt(_localctx, 10);
29800 {
29801 setState(4242);
29802 _errHandler.sync(this);
29803 _la = _input.LA(1);
29804 if (_la==NO) {
29805 {
29806 setState(4241);
29807 match(NO);
29808 }
29809 }
29810
29811 setState(4244);
29812 match(CYCLE);
29813 }
29814 break;
29815 }
29816 }
29817 catch (RecognitionException re) {
29818 _localctx.exception = re;
29819 _errHandler.reportError(this, re);
29820 _errHandler.recover(this, re);
29821 }
29822 finally {
29823 exitRule();
29824 }
29825 return _localctx;
29826 }
29827
29828 public static class CreateIndexClauseContext extends ParserRuleContext {
29829 public TerminalNode INCLUDE() { return getToken(SQLServerStatementParser.INCLUDE, 0); }
29830 public ColumnNamesWithSortContext columnNamesWithSort() {
29831 return getRuleContext(ColumnNamesWithSortContext.class,0);
29832 }
29833 public TerminalNode WHERE() { return getToken(SQLServerStatementParser.WHERE, 0); }
29834 public FilterPredicateContext filterPredicate() {
29835 return getRuleContext(FilterPredicateContext.class,0);
29836 }
29837 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
29838 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
29839 public TerminalNode LP_(int i) {
29840 return getToken(SQLServerStatementParser.LP_, i);
29841 }
29842 public List<RelationalIndexOptionContext> relationalIndexOption() {
29843 return getRuleContexts(RelationalIndexOptionContext.class);
29844 }
29845 public RelationalIndexOptionContext relationalIndexOption(int i) {
29846 return getRuleContext(RelationalIndexOptionContext.class,i);
29847 }
29848 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
29849 public TerminalNode RP_(int i) {
29850 return getToken(SQLServerStatementParser.RP_, i);
29851 }
29852 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
29853 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
29854 public SchemaNameContext schemaName() {
29855 return getRuleContext(SchemaNameContext.class,0);
29856 }
29857 public ColumnNameContext columnName() {
29858 return getRuleContext(ColumnNameContext.class,0);
29859 }
29860 public List<NameContext> name() {
29861 return getRuleContexts(NameContext.class);
29862 }
29863 public NameContext name(int i) {
29864 return getRuleContext(NameContext.class,i);
29865 }
29866 public StringLiteralsContext stringLiterals() {
29867 return getRuleContext(StringLiteralsContext.class,0);
29868 }
29869 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
29870 public TerminalNode COMMA_(int i) {
29871 return getToken(SQLServerStatementParser.COMMA_, i);
29872 }
29873 public CreateIndexClauseContext(ParserRuleContext parent, int invokingState) {
29874 super(parent, invokingState);
29875 }
29876 @Override public int getRuleIndex() { return RULE_createIndexClause; }
29877 @Override
29878 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29879 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateIndexClause(this);
29880 else return visitor.visitChildren(this);
29881 }
29882 }
29883
29884 public final CreateIndexClauseContext createIndexClause() throws RecognitionException {
29885 CreateIndexClauseContext _localctx = new CreateIndexClauseContext(_ctx, getState());
29886 enterRule(_localctx, 610, RULE_createIndexClause);
29887 int _la;
29888 try {
29889 enterOuterAlt(_localctx, 1);
29890 {
29891 setState(4249);
29892 _errHandler.sync(this);
29893 _la = _input.LA(1);
29894 if (_la==INCLUDE) {
29895 {
29896 setState(4247);
29897 match(INCLUDE);
29898 setState(4248);
29899 columnNamesWithSort();
29900 }
29901 }
29902
29903 setState(4253);
29904 _errHandler.sync(this);
29905 _la = _input.LA(1);
29906 if (_la==WHERE) {
29907 {
29908 setState(4251);
29909 match(WHERE);
29910 setState(4252);
29911 filterPredicate();
29912 }
29913 }
29914
29915 setState(4267);
29916 _errHandler.sync(this);
29917 _la = _input.LA(1);
29918 if (_la==WITH) {
29919 {
29920 setState(4255);
29921 match(WITH);
29922 setState(4256);
29923 match(LP_);
29924 setState(4257);
29925 relationalIndexOption();
29926 setState(4262);
29927 _errHandler.sync(this);
29928 _la = _input.LA(1);
29929 while (_la==COMMA_) {
29930 {
29931 {
29932 setState(4258);
29933 match(COMMA_);
29934 setState(4259);
29935 relationalIndexOption();
29936 }
29937 }
29938 setState(4264);
29939 _errHandler.sync(this);
29940 _la = _input.LA(1);
29941 }
29942 setState(4265);
29943 match(RP_);
29944 }
29945 }
29946
29947 setState(4278);
29948 _errHandler.sync(this);
29949 _la = _input.LA(1);
29950 if (_la==ON) {
29951 {
29952 setState(4269);
29953 match(ON);
29954 setState(4276);
29955 _errHandler.sync(this);
29956 switch ( getInterpreter().adaptivePredict(_input,458,_ctx) ) {
29957 case 1:
29958 {
29959 setState(4270);
29960 schemaName();
29961 setState(4271);
29962 match(LP_);
29963 setState(4272);
29964 columnName();
29965 setState(4273);
29966 match(RP_);
29967 }
29968 break;
29969 case 2:
29970 {
29971 setState(4275);
29972 name();
29973 }
29974 break;
29975 }
29976 }
29977 }
29978
29979 setState(4285);
29980 _errHandler.sync(this);
29981 _la = _input.LA(1);
29982 if (_la==FILESTREAM_ON) {
29983 {
29984 setState(4280);
29985 match(FILESTREAM_ON);
29986 setState(4283);
29987 _errHandler.sync(this);
29988 switch (_input.LA(1)) {
29989 case TRUNCATE:
29990 case SCHEMA:
29991 case COLUMNS:
29992 case PRECISION:
29993 case FUNCTION:
29994 case TRIGGER:
29995 case CAST:
29996 case TRIM:
29997 case SUBSTRING:
29998 case OFF:
29999 case GROUP:
30000 case LIMIT:
30001 case OFFSET:
30002 case SAVEPOINT:
30003 case BOOLEAN:
30004 case ARRAY:
30005 case DATE:
30006 case TIMESTAMP:
30007 case LOCALTIME:
30008 case LOCALTIMESTAMP:
30009 case YEAR:
30010 case QUARTER:
30011 case MONTH:
30012 case WEEK:
30013 case DAY:
30014 case SECOND:
30015 case MICROSECOND:
30016 case MAX:
30017 case MIN:
30018 case SUM:
30019 case COUNT:
30020 case AVG:
30021 case ENABLE:
30022 case DISABLE:
30023 case INSTANCE:
30024 case DO:
30025 case DEFINER:
30026 case SQL:
30027 case CASCADED:
30028 case LOCAL:
30029 case NEXT:
30030 case NAME:
30031 case INTEGER:
30032 case TYPE:
30033 case TEXT:
30034 case VIEWS:
30035 case READ_ONLY:
30036 case DATABASE:
30037 case RETURNS:
30038 case DATEPART:
30039 case PASSWORD:
30040 case BINARY:
30041 case HIDDEN_:
30042 case MOD:
30043 case PARTITION:
30044 case PARTITIONS:
30045 case TOP:
30046 case ROW:
30047 case ROWS:
30048 case XOR:
30049 case ALWAYS:
30050 case ROLE:
30051 case START:
30052 case ALGORITHM:
30053 case AUTO:
30054 case BLOCKERS:
30055 case CLUSTERED:
30056 case NONCLUSTERED:
30057 case COLUMNSTORE:
30058 case CONTENT:
30059 case YEARS:
30060 case MONTHS:
30061 case WEEKS:
30062 case DAYS:
30063 case MINUTES:
30064 case DENY:
30065 case DETERMINISTIC:
30066 case DISTRIBUTION:
30067 case DOCUMENT:
30068 case DURABILITY:
30069 case ENCRYPTED:
30070 case FILESTREAM:
30071 case FILETABLE:
30072 case FILLFACTOR:
30073 case FOLLOWING:
30074 case HASH:
30075 case HEAP:
30076 case INBOUND:
30077 case OUTBOUND:
30078 case UNBOUNDED:
30079 case INFINITE:
30080 case LOGIN:
30081 case MASKED:
30082 case MAXDOP:
30083 case MOVE:
30084 case NOCHECK:
30085 case OBJECT:
30086 case ONLINE:
30087 case OVER:
30088 case PAGE:
30089 case PAUSED:
30090 case PERIOD:
30091 case PERSISTED:
30092 case PRECEDING:
30093 case RANDOMIZED:
30094 case RANGE:
30095 case REBUILD:
30096 case REPLICATE:
30097 case REPLICATION:
30098 case RESUMABLE:
30099 case ROWGUIDCOL:
30100 case SAVE:
30101 case SELF:
30102 case SPARSE:
30103 case SWITCH:
30104 case TRAN:
30105 case TRANCOUNT:
30106 case CONTROL:
30107 case CONCAT:
30108 case TAKE:
30109 case OWNERSHIP:
30110 case DEFINITION:
30111 case APPLICATION:
30112 case ASSEMBLY:
30113 case SYMMETRIC:
30114 case ASYMMETRIC:
30115 case SERVER:
30116 case RECEIVE:
30117 case CHANGE:
30118 case TRACE:
30119 case TRACKING:
30120 case RESOURCES:
30121 case SETTINGS:
30122 case STATE:
30123 case AVAILABILITY:
30124 case CREDENTIAL:
30125 case ENDPOINT:
30126 case EVENT:
30127 case NOTIFICATION:
30128 case LINKED:
30129 case AUDIT:
30130 case DDL:
30131 case XML:
30132 case IMPERSONATE:
30133 case SECURABLES:
30134 case AUTHENTICATE:
30135 case EXTERNAL:
30136 case ACCESS:
30137 case ADMINISTER:
30138 case BULK:
30139 case OPERATIONS:
30140 case UNSAFE:
30141 case SHUTDOWN:
30142 case SCOPED:
30143 case CONFIGURATION:
30144 case DATASPACE:
30145 case SERVICE:
30146 case CERTIFICATE:
30147 case CONTRACT:
30148 case ENCRYPTION:
30149 case MASTER:
30150 case DATA:
30151 case SOURCE:
30152 case FILE:
30153 case FORMAT:
30154 case LIBRARY:
30155 case FULLTEXT:
30156 case MASK:
30157 case UNMASK:
30158 case MESSAGE:
30159 case REMOTE:
30160 case BINDING:
30161 case ROUTE:
30162 case SECURITY:
30163 case POLICY:
30164 case AGGREGATE:
30165 case QUEUE:
30166 case RULE:
30167 case SYNONYM:
30168 case COLLECTION:
30169 case SCRIPT:
30170 case KILL:
30171 case BACKUP:
30172 case LOG:
30173 case SHOWPLAN:
30174 case SUBSCRIBE:
30175 case QUERY:
30176 case NOTIFICATIONS:
30177 case CHECKPOINT:
30178 case SEQUENCE:
30179 case ABORT_AFTER_WAIT:
30180 case ALLOW_PAGE_LOCKS:
30181 case ALLOW_ROW_LOCKS:
30182 case ALL_SPARSE_COLUMNS:
30183 case BUCKET_COUNT:
30184 case COLUMNSTORE_ARCHIVE:
30185 case COLUMN_ENCRYPTION_KEY:
30186 case COLUMN_SET:
30187 case COMPRESSION_DELAY:
30188 case DATABASE_DEAULT:
30189 case DATA_COMPRESSION:
30190 case DATA_CONSISTENCY_CHECK:
30191 case ENCRYPTION_TYPE:
30192 case SYSTEM_TIME:
30193 case SYSTEM_VERSIONING:
30194 case TEXTIMAGE_ON:
30195 case WAIT_AT_LOW_PRIORITY:
30196 case STATISTICS_INCREMENTAL:
30197 case STATISTICS_NORECOMPUTE:
30198 case ROUND_ROBIN:
30199 case SCHEMA_AND_DATA:
30200 case SCHEMA_ONLY:
30201 case SORT_IN_TEMPDB:
30202 case IGNORE_DUP_KEY:
30203 case IMPLICIT_TRANSACTIONS:
30204 case MAX_DURATION:
30205 case MEMORY_OPTIMIZED:
30206 case MIGRATION_STATE:
30207 case PAD_INDEX:
30208 case REMOTE_DATA_ARCHIVE:
30209 case FILESTREAM_ON:
30210 case FILETABLE_COLLATE_FILENAME:
30211 case FILETABLE_DIRECTORY:
30212 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
30213 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
30214 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
30215 case FILTER_PREDICATE:
30216 case HISTORY_RETENTION_PERIOD:
30217 case HISTORY_TABLE:
30218 case LOCK_ESCALATION:
30219 case DROP_EXISTING:
30220 case ROW_NUMBER:
30221 case FIRST:
30222 case DATETIME2:
30223 case OUTPUT:
30224 case INSERTED:
30225 case DELETED:
30226 case FILENAME:
30227 case SIZE:
30228 case MAXSIZE:
30229 case FILEGROWTH:
30230 case UNLIMITED:
30231 case KB:
30232 case MB:
30233 case GB:
30234 case TB:
30235 case CONTAINS:
30236 case MEMORY_OPTIMIZED_DATA:
30237 case FILEGROUP:
30238 case NON_TRANSACTED_ACCESS:
30239 case DB_CHAINING:
30240 case TRUSTWORTHY:
30241 case FORWARD_ONLY:
30242 case KEYSET:
30243 case FAST_FORWARD:
30244 case SCROLL_LOCKS:
30245 case OPTIMISTIC:
30246 case TYPE_WARNING:
30247 case SCHEMABINDING:
30248 case CALLER:
30249 case INPUT:
30250 case OWNER:
30251 case SNAPSHOT:
30252 case REPEATABLE:
30253 case SERIALIZABLE:
30254 case NATIVE_COMPILATION:
30255 case VIEW_METADATA:
30256 case INSTEAD:
30257 case APPEND:
30258 case INCREMENT:
30259 case CACHE:
30260 case MINVALUE:
30261 case MAXVALUE:
30262 case RESTART:
30263 case LOB_COMPACTION:
30264 case COMPRESS_ALL_ROW_GROUPS:
30265 case REORGANIZE:
30266 case RESUME:
30267 case PAUSE:
30268 case ABORT:
30269 case ACCELERATED_DATABASE_RECOVERY:
30270 case PERSISTENT_VERSION_STORE_FILEGROUP:
30271 case IMMEDIATE:
30272 case NO_WAIT:
30273 case TARGET_RECOVERY_TIME:
30274 case SECONDS:
30275 case HONOR_BROKER_PRIORITY:
30276 case ERROR_BROKER_CONVERSATIONS:
30277 case NEW_BROKER:
30278 case DISABLE_BROKER:
30279 case ENABLE_BROKER:
30280 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
30281 case READ_COMMITTED_SNAPSHOT:
30282 case ALLOW_SNAPSHOT_ISOLATION:
30283 case RECURSIVE_TRIGGERS:
30284 case QUOTED_IDENTIFIER:
30285 case NUMERIC_ROUNDABORT:
30286 case CONCAT_NULL_YIELDS_NULL:
30287 case COMPATIBILITY_LEVEL:
30288 case ARITHABORT:
30289 case ANSI_WARNINGS:
30290 case ANSI_PADDING:
30291 case ANSI_NULLS:
30292 case ANSI_NULL_DEFAULT:
30293 case PAGE_VERIFY:
30294 case CHECKSUM:
30295 case TORN_PAGE_DETECTION:
30296 case BULK_LOGGED:
30297 case RECOVERY:
30298 case TOTAL_EXECUTION_CPU_TIME_MS:
30299 case TOTAL_COMPILE_CPU_TIME_MS:
30300 case STALE_CAPTURE_POLICY_THRESHOLD:
30301 case EXECUTION_COUNT:
30302 case QUERY_CAPTURE_POLICY:
30303 case WAIT_STATS_CAPTURE_MODE:
30304 case MAX_PLANS_PER_QUERY:
30305 case QUERY_CAPTURE_MODE:
30306 case SIZE_BASED_CLEANUP_MODE:
30307 case INTERVAL_LENGTH_MINUTES:
30308 case MAX_STORAGE_SIZE_MB:
30309 case DATA_FLUSH_INTERVAL_SECONDS:
30310 case CLEANUP_POLICY:
30311 case CUSTOM:
30312 case STALE_QUERY_THRESHOLD_DAYS:
30313 case OPERATION_MODE:
30314 case QUERY_STORE:
30315 case CURSOR_DEFAULT:
30316 case GLOBAL:
30317 case CURSOR_CLOSE_ON_COMMIT:
30318 case HOURS:
30319 case CHANGE_RETENTION:
30320 case AUTO_CLEANUP:
30321 case CHANGE_TRACKING:
30322 case AUTOMATIC_TUNING:
30323 case FORCE_LAST_GOOD_PLAN:
30324 case AUTO_UPDATE_STATISTICS_ASYNC:
30325 case AUTO_UPDATE_STATISTICS:
30326 case AUTO_SHRINK:
30327 case AUTO_CREATE_STATISTICS:
30328 case INCREMENTAL:
30329 case AUTO_CLOSE:
30330 case DATA_RETENTION:
30331 case TEMPORAL_HISTORY_RETENTION:
30332 case EDITION:
30333 case MIXED_PAGE_ALLOCATION:
30334 case DISABLED:
30335 case ALLOWED:
30336 case HADR:
30337 case MULTI_USER:
30338 case RESTRICTED_USER:
30339 case SINGLE_USER:
30340 case OFFLINE:
30341 case EMERGENCY:
30342 case SUSPEND:
30343 case DATE_CORRELATION_OPTIMIZATION:
30344 case ELASTIC_POOL:
30345 case SERVICE_OBJECTIVE:
30346 case DATABASE_NAME:
30347 case ALLOW_CONNECTIONS:
30348 case GEO:
30349 case NAMED:
30350 case DATEFIRST:
30351 case BACKUP_STORAGE_REDUNDANCY:
30352 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
30353 case SECONDARY:
30354 case FAILOVER:
30355 case DEFAULT_FULLTEXT_LANGUAGE:
30356 case DEFAULT_LANGUAGE:
30357 case INLINE:
30358 case NESTED_TRIGGERS:
30359 case TRANSFORM_NOISE_WORDS:
30360 case TWO_DIGIT_YEAR_CUTOFF:
30361 case PERSISTENT_LOG_BUFFER:
30362 case DIRECTORY_NAME:
30363 case DATEFORMAT:
30364 case DELAYED_DURABILITY:
30365 case AUTHORIZATION:
30366 case TRANSFER:
30367 case PROVIDER:
30368 case SEARCH:
30369 case MEMBER:
30370 case IDENTIFIER_:
30371 case DELIMITED_IDENTIFIER_:
30372 {
30373 setState(4281);
30374 name();
30375 }
30376 break;
30377 case STRING_:
30378 case NCHAR_TEXT:
30379 {
30380 setState(4282);
30381 stringLiterals();
30382 }
30383 break;
30384 default:
30385 throw new NoViableAltException(this);
30386 }
30387 }
30388 }
30389
30390 }
30391 }
30392 catch (RecognitionException re) {
30393 _localctx.exception = re;
30394 _errHandler.reportError(this, re);
30395 _errHandler.recover(this, re);
30396 }
30397 finally {
30398 exitRule();
30399 }
30400 return _localctx;
30401 }
30402
30403 public static class FilterPredicateContext extends ParserRuleContext {
30404 public List<ConjunctContext> conjunct() {
30405 return getRuleContexts(ConjunctContext.class);
30406 }
30407 public ConjunctContext conjunct(int i) {
30408 return getRuleContext(ConjunctContext.class,i);
30409 }
30410 public List<TerminalNode> AND() { return getTokens(SQLServerStatementParser.AND); }
30411 public TerminalNode AND(int i) {
30412 return getToken(SQLServerStatementParser.AND, i);
30413 }
30414 public FilterPredicateContext(ParserRuleContext parent, int invokingState) {
30415 super(parent, invokingState);
30416 }
30417 @Override public int getRuleIndex() { return RULE_filterPredicate; }
30418 @Override
30419 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30420 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFilterPredicate(this);
30421 else return visitor.visitChildren(this);
30422 }
30423 }
30424
30425 public final FilterPredicateContext filterPredicate() throws RecognitionException {
30426 FilterPredicateContext _localctx = new FilterPredicateContext(_ctx, getState());
30427 enterRule(_localctx, 612, RULE_filterPredicate);
30428 int _la;
30429 try {
30430 enterOuterAlt(_localctx, 1);
30431 {
30432 setState(4287);
30433 conjunct();
30434 setState(4292);
30435 _errHandler.sync(this);
30436 _la = _input.LA(1);
30437 while (_la==AND) {
30438 {
30439 {
30440 setState(4288);
30441 match(AND);
30442 setState(4289);
30443 conjunct();
30444 }
30445 }
30446 setState(4294);
30447 _errHandler.sync(this);
30448 _la = _input.LA(1);
30449 }
30450 }
30451 }
30452 catch (RecognitionException re) {
30453 _localctx.exception = re;
30454 _errHandler.reportError(this, re);
30455 _errHandler.recover(this, re);
30456 }
30457 finally {
30458 exitRule();
30459 }
30460 return _localctx;
30461 }
30462
30463 public static class ConjunctContext extends ParserRuleContext {
30464 public ColumnNameContext columnName() {
30465 return getRuleContext(ColumnNameContext.class,0);
30466 }
30467 public TerminalNode IN() { return getToken(SQLServerStatementParser.IN, 0); }
30468 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
30469 public List<ExprContext> expr() {
30470 return getRuleContexts(ExprContext.class);
30471 }
30472 public ExprContext expr(int i) {
30473 return getRuleContext(ExprContext.class,i);
30474 }
30475 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
30476 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
30477 public TerminalNode COMMA_(int i) {
30478 return getToken(SQLServerStatementParser.COMMA_, i);
30479 }
30480 public ComparisonOperatorContext comparisonOperator() {
30481 return getRuleContext(ComparisonOperatorContext.class,0);
30482 }
30483 public ConjunctContext(ParserRuleContext parent, int invokingState) {
30484 super(parent, invokingState);
30485 }
30486 @Override public int getRuleIndex() { return RULE_conjunct; }
30487 @Override
30488 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30489 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConjunct(this);
30490 else return visitor.visitChildren(this);
30491 }
30492 }
30493
30494 public final ConjunctContext conjunct() throws RecognitionException {
30495 ConjunctContext _localctx = new ConjunctContext(_ctx, getState());
30496 enterRule(_localctx, 614, RULE_conjunct);
30497 int _la;
30498 try {
30499 setState(4312);
30500 _errHandler.sync(this);
30501 switch ( getInterpreter().adaptivePredict(_input,464,_ctx) ) {
30502 case 1:
30503 enterOuterAlt(_localctx, 1);
30504 {
30505 setState(4295);
30506 columnName();
30507 setState(4296);
30508 match(IN);
30509 setState(4297);
30510 match(LP_);
30511 setState(4298);
30512 expr(0);
30513 setState(4303);
30514 _errHandler.sync(this);
30515 _la = _input.LA(1);
30516 while (_la==COMMA_) {
30517 {
30518 {
30519 setState(4299);
30520 match(COMMA_);
30521 setState(4300);
30522 expr(0);
30523 }
30524 }
30525 setState(4305);
30526 _errHandler.sync(this);
30527 _la = _input.LA(1);
30528 }
30529 setState(4306);
30530 match(RP_);
30531 }
30532 break;
30533 case 2:
30534 enterOuterAlt(_localctx, 2);
30535 {
30536 setState(4308);
30537 columnName();
30538 setState(4309);
30539 comparisonOperator();
30540 setState(4310);
30541 expr(0);
30542 }
30543 break;
30544 }
30545 }
30546 catch (RecognitionException re) {
30547 _localctx.exception = re;
30548 _errHandler.reportError(this, re);
30549 _errHandler.recover(this, re);
30550 }
30551 finally {
30552 exitRule();
30553 }
30554 return _localctx;
30555 }
30556
30557 public static class AlterIndexClauseContext extends ParserRuleContext {
30558 public TerminalNode REBUILD() { return getToken(SQLServerStatementParser.REBUILD, 0); }
30559 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
30560 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
30561 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
30562 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
30563 public List<RelationalIndexOptionContext> relationalIndexOption() {
30564 return getRuleContexts(RelationalIndexOptionContext.class);
30565 }
30566 public RelationalIndexOptionContext relationalIndexOption(int i) {
30567 return getRuleContext(RelationalIndexOptionContext.class,i);
30568 }
30569 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
30570 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
30571 public ExprContext expr() {
30572 return getRuleContext(ExprContext.class,0);
30573 }
30574 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
30575 public TerminalNode COMMA_(int i) {
30576 return getToken(SQLServerStatementParser.COMMA_, i);
30577 }
30578 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
30579 public TerminalNode REORGANIZE() { return getToken(SQLServerStatementParser.REORGANIZE, 0); }
30580 public ReorganizeOptionContext reorganizeOption() {
30581 return getRuleContext(ReorganizeOptionContext.class,0);
30582 }
30583 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
30584 public List<SetIndexOptionContext> setIndexOption() {
30585 return getRuleContexts(SetIndexOptionContext.class);
30586 }
30587 public SetIndexOptionContext setIndexOption(int i) {
30588 return getRuleContext(SetIndexOptionContext.class,i);
30589 }
30590 public TerminalNode RESUME() { return getToken(SQLServerStatementParser.RESUME, 0); }
30591 public List<ResumableIndexOptionsContext> resumableIndexOptions() {
30592 return getRuleContexts(ResumableIndexOptionsContext.class);
30593 }
30594 public ResumableIndexOptionsContext resumableIndexOptions(int i) {
30595 return getRuleContext(ResumableIndexOptionsContext.class,i);
30596 }
30597 public TerminalNode PAUSE() { return getToken(SQLServerStatementParser.PAUSE, 0); }
30598 public TerminalNode ABORT() { return getToken(SQLServerStatementParser.ABORT, 0); }
30599 public AlterIndexClauseContext(ParserRuleContext parent, int invokingState) {
30600 super(parent, invokingState);
30601 }
30602 @Override public int getRuleIndex() { return RULE_alterIndexClause; }
30603 @Override
30604 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30605 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterIndexClause(this);
30606 else return visitor.visitChildren(this);
30607 }
30608 }
30609
30610 public final AlterIndexClauseContext alterIndexClause() throws RecognitionException {
30611 AlterIndexClauseContext _localctx = new AlterIndexClauseContext(_ctx, getState());
30612 enterRule(_localctx, 616, RULE_alterIndexClause);
30613 int _la;
30614 try {
30615 setState(4376);
30616 _errHandler.sync(this);
30617 switch (_input.LA(1)) {
30618 case REBUILD:
30619 enterOuterAlt(_localctx, 1);
30620 {
30621 setState(4314);
30622 match(REBUILD);
30623 setState(4321);
30624 _errHandler.sync(this);
30625 _la = _input.LA(1);
30626 if (_la==PARTITION) {
30627 {
30628 setState(4315);
30629 match(PARTITION);
30630 setState(4316);
30631 match(EQ_);
30632 setState(4319);
30633 _errHandler.sync(this);
30634 switch (_input.LA(1)) {
30635 case ALL:
30636 {
30637 setState(4317);
30638 match(ALL);
30639 }
30640 break;
30641 case NOT_:
30642 case TILDE_:
30643 case PLUS_:
30644 case MINUS_:
30645 case LP_:
30646 case LBE_:
30647 case QUESTION_:
30648 case DOLLAR_:
30649 case TRUNCATE:
30650 case SCHEMA:
30651 case COLUMNS:
30652 case PRECISION:
30653 case FUNCTION:
30654 case TRIGGER:
30655 case CASE:
30656 case CAST:
30657 case TRIM:
30658 case SUBSTRING:
30659 case OFF:
30660 case IF:
30661 case NOT:
30662 case NULL:
30663 case TRUE:
30664 case FALSE:
30665 case EXISTS:
30666 case GROUP:
30667 case LIMIT:
30668 case OFFSET:
30669 case SAVEPOINT:
30670 case BOOLEAN:
30671 case CHAR:
30672 case ARRAY:
30673 case INTERVAL:
30674 case DATE:
30675 case TIME:
30676 case TIMESTAMP:
30677 case LOCALTIME:
30678 case LOCALTIMESTAMP:
30679 case YEAR:
30680 case QUARTER:
30681 case MONTH:
30682 case WEEK:
30683 case DAY:
30684 case SECOND:
30685 case MICROSECOND:
30686 case MAX:
30687 case MIN:
30688 case SUM:
30689 case COUNT:
30690 case AVG:
30691 case ENABLE:
30692 case DISABLE:
30693 case INSTANCE:
30694 case DO:
30695 case DEFINER:
30696 case SQL:
30697 case CASCADED:
30698 case LOCAL:
30699 case NEXT:
30700 case NAME:
30701 case INTEGER:
30702 case TYPE:
30703 case TEXT:
30704 case VIEWS:
30705 case READ_ONLY:
30706 case DATABASE:
30707 case RETURNS:
30708 case DATEPART:
30709 case PASSWORD:
30710 case JSON_OBJECT:
30711 case JSON_ARRAY:
30712 case FIRST_VALUE:
30713 case LAST_VALUE:
30714 case APPROX_PERCENTILE_CONT:
30715 case APPROX_PERCENTILE_DISC:
30716 case BINARY:
30717 case HIDDEN_:
30718 case MOD:
30719 case PARTITION:
30720 case PARTITIONS:
30721 case TOP:
30722 case ROW:
30723 case ROWS:
30724 case XOR:
30725 case ALWAYS:
30726 case ROLE:
30727 case START:
30728 case ALGORITHM:
30729 case AUTO:
30730 case BLOCKERS:
30731 case CLUSTERED:
30732 case NONCLUSTERED:
30733 case COLUMNSTORE:
30734 case CONTENT:
30735 case CONVERT:
30736 case YEARS:
30737 case MONTHS:
30738 case WEEKS:
30739 case DAYS:
30740 case MINUTES:
30741 case DENY:
30742 case DETERMINISTIC:
30743 case DISTRIBUTION:
30744 case DOCUMENT:
30745 case DURABILITY:
30746 case ENCRYPTED:
30747 case FILESTREAM:
30748 case FILETABLE:
30749 case FILLFACTOR:
30750 case FOLLOWING:
30751 case HASH:
30752 case HEAP:
30753 case INBOUND:
30754 case OUTBOUND:
30755 case UNBOUNDED:
30756 case INFINITE:
30757 case LOGIN:
30758 case MASKED:
30759 case MAXDOP:
30760 case MOVE:
30761 case NOCHECK:
30762 case OBJECT:
30763 case ONLINE:
30764 case OVER:
30765 case PAGE:
30766 case PAUSED:
30767 case PERIOD:
30768 case PERSISTED:
30769 case PRECEDING:
30770 case RANDOMIZED:
30771 case RANGE:
30772 case REBUILD:
30773 case REPLICATE:
30774 case REPLICATION:
30775 case RESUMABLE:
30776 case ROWGUIDCOL:
30777 case SAVE:
30778 case SELF:
30779 case SPARSE:
30780 case SWITCH:
30781 case TRAN:
30782 case TRANCOUNT:
30783 case CONTROL:
30784 case CONCAT:
30785 case TAKE:
30786 case OWNERSHIP:
30787 case DEFINITION:
30788 case APPLICATION:
30789 case ASSEMBLY:
30790 case SYMMETRIC:
30791 case ASYMMETRIC:
30792 case SERVER:
30793 case RECEIVE:
30794 case CHANGE:
30795 case TRACE:
30796 case TRACKING:
30797 case RESOURCES:
30798 case SETTINGS:
30799 case STATE:
30800 case AVAILABILITY:
30801 case CREDENTIAL:
30802 case ENDPOINT:
30803 case EVENT:
30804 case NOTIFICATION:
30805 case LINKED:
30806 case AUDIT:
30807 case DDL:
30808 case XML:
30809 case IMPERSONATE:
30810 case SECURABLES:
30811 case AUTHENTICATE:
30812 case EXTERNAL:
30813 case ACCESS:
30814 case ADMINISTER:
30815 case BULK:
30816 case OPERATIONS:
30817 case UNSAFE:
30818 case SHUTDOWN:
30819 case SCOPED:
30820 case CONFIGURATION:
30821 case DATASPACE:
30822 case SERVICE:
30823 case CERTIFICATE:
30824 case CONTRACT:
30825 case ENCRYPTION:
30826 case MASTER:
30827 case DATA:
30828 case SOURCE:
30829 case FILE:
30830 case FORMAT:
30831 case LIBRARY:
30832 case FULLTEXT:
30833 case MASK:
30834 case UNMASK:
30835 case MESSAGE:
30836 case REMOTE:
30837 case BINDING:
30838 case ROUTE:
30839 case SECURITY:
30840 case POLICY:
30841 case AGGREGATE:
30842 case QUEUE:
30843 case RULE:
30844 case SYNONYM:
30845 case COLLECTION:
30846 case SCRIPT:
30847 case KILL:
30848 case BACKUP:
30849 case LOG:
30850 case SHOWPLAN:
30851 case SUBSCRIBE:
30852 case QUERY:
30853 case NOTIFICATIONS:
30854 case CHECKPOINT:
30855 case SEQUENCE:
30856 case ABORT_AFTER_WAIT:
30857 case ALLOW_PAGE_LOCKS:
30858 case ALLOW_ROW_LOCKS:
30859 case ALL_SPARSE_COLUMNS:
30860 case BUCKET_COUNT:
30861 case COLUMNSTORE_ARCHIVE:
30862 case COLUMN_ENCRYPTION_KEY:
30863 case COLUMN_SET:
30864 case COMPRESSION_DELAY:
30865 case DATABASE_DEAULT:
30866 case DATA_COMPRESSION:
30867 case DATA_CONSISTENCY_CHECK:
30868 case ENCRYPTION_TYPE:
30869 case SYSTEM_TIME:
30870 case SYSTEM_VERSIONING:
30871 case TEXTIMAGE_ON:
30872 case WAIT_AT_LOW_PRIORITY:
30873 case STATISTICS_INCREMENTAL:
30874 case STATISTICS_NORECOMPUTE:
30875 case ROUND_ROBIN:
30876 case SCHEMA_AND_DATA:
30877 case SCHEMA_ONLY:
30878 case SORT_IN_TEMPDB:
30879 case IGNORE_DUP_KEY:
30880 case IMPLICIT_TRANSACTIONS:
30881 case MAX_DURATION:
30882 case MEMORY_OPTIMIZED:
30883 case MIGRATION_STATE:
30884 case PAD_INDEX:
30885 case REMOTE_DATA_ARCHIVE:
30886 case FILESTREAM_ON:
30887 case FILETABLE_COLLATE_FILENAME:
30888 case FILETABLE_DIRECTORY:
30889 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
30890 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
30891 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
30892 case FILTER_PREDICATE:
30893 case HISTORY_RETENTION_PERIOD:
30894 case HISTORY_TABLE:
30895 case LOCK_ESCALATION:
30896 case DROP_EXISTING:
30897 case ROW_NUMBER:
30898 case FIRST:
30899 case DATETIME2:
30900 case OUTPUT:
30901 case INSERTED:
30902 case DELETED:
30903 case FILENAME:
30904 case SIZE:
30905 case MAXSIZE:
30906 case FILEGROWTH:
30907 case UNLIMITED:
30908 case KB:
30909 case MB:
30910 case GB:
30911 case TB:
30912 case CONTAINS:
30913 case MEMORY_OPTIMIZED_DATA:
30914 case FILEGROUP:
30915 case NON_TRANSACTED_ACCESS:
30916 case DB_CHAINING:
30917 case TRUSTWORTHY:
30918 case FORWARD_ONLY:
30919 case KEYSET:
30920 case FAST_FORWARD:
30921 case SCROLL_LOCKS:
30922 case OPTIMISTIC:
30923 case TYPE_WARNING:
30924 case SCHEMABINDING:
30925 case CALLER:
30926 case INPUT:
30927 case OWNER:
30928 case SNAPSHOT:
30929 case REPEATABLE:
30930 case SERIALIZABLE:
30931 case NATIVE_COMPILATION:
30932 case VIEW_METADATA:
30933 case INSTEAD:
30934 case APPEND:
30935 case INCREMENT:
30936 case CACHE:
30937 case MINVALUE:
30938 case MAXVALUE:
30939 case RESTART:
30940 case LOB_COMPACTION:
30941 case COMPRESS_ALL_ROW_GROUPS:
30942 case REORGANIZE:
30943 case RESUME:
30944 case PAUSE:
30945 case ABORT:
30946 case ACCELERATED_DATABASE_RECOVERY:
30947 case PERSISTENT_VERSION_STORE_FILEGROUP:
30948 case IMMEDIATE:
30949 case NO_WAIT:
30950 case TARGET_RECOVERY_TIME:
30951 case SECONDS:
30952 case HONOR_BROKER_PRIORITY:
30953 case ERROR_BROKER_CONVERSATIONS:
30954 case NEW_BROKER:
30955 case DISABLE_BROKER:
30956 case ENABLE_BROKER:
30957 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
30958 case READ_COMMITTED_SNAPSHOT:
30959 case ALLOW_SNAPSHOT_ISOLATION:
30960 case RECURSIVE_TRIGGERS:
30961 case QUOTED_IDENTIFIER:
30962 case NUMERIC_ROUNDABORT:
30963 case CONCAT_NULL_YIELDS_NULL:
30964 case COMPATIBILITY_LEVEL:
30965 case ARITHABORT:
30966 case ANSI_WARNINGS:
30967 case ANSI_PADDING:
30968 case ANSI_NULLS:
30969 case ANSI_NULL_DEFAULT:
30970 case PAGE_VERIFY:
30971 case CHECKSUM:
30972 case TORN_PAGE_DETECTION:
30973 case BULK_LOGGED:
30974 case RECOVERY:
30975 case TOTAL_EXECUTION_CPU_TIME_MS:
30976 case TOTAL_COMPILE_CPU_TIME_MS:
30977 case STALE_CAPTURE_POLICY_THRESHOLD:
30978 case EXECUTION_COUNT:
30979 case QUERY_CAPTURE_POLICY:
30980 case WAIT_STATS_CAPTURE_MODE:
30981 case MAX_PLANS_PER_QUERY:
30982 case QUERY_CAPTURE_MODE:
30983 case SIZE_BASED_CLEANUP_MODE:
30984 case INTERVAL_LENGTH_MINUTES:
30985 case MAX_STORAGE_SIZE_MB:
30986 case DATA_FLUSH_INTERVAL_SECONDS:
30987 case CLEANUP_POLICY:
30988 case CUSTOM:
30989 case STALE_QUERY_THRESHOLD_DAYS:
30990 case OPERATION_MODE:
30991 case QUERY_STORE:
30992 case CURSOR_DEFAULT:
30993 case GLOBAL:
30994 case CURSOR_CLOSE_ON_COMMIT:
30995 case HOURS:
30996 case CHANGE_RETENTION:
30997 case AUTO_CLEANUP:
30998 case CHANGE_TRACKING:
30999 case AUTOMATIC_TUNING:
31000 case FORCE_LAST_GOOD_PLAN:
31001 case AUTO_UPDATE_STATISTICS_ASYNC:
31002 case AUTO_UPDATE_STATISTICS:
31003 case AUTO_SHRINK:
31004 case AUTO_CREATE_STATISTICS:
31005 case INCREMENTAL:
31006 case AUTO_CLOSE:
31007 case DATA_RETENTION:
31008 case TEMPORAL_HISTORY_RETENTION:
31009 case EDITION:
31010 case MIXED_PAGE_ALLOCATION:
31011 case DISABLED:
31012 case ALLOWED:
31013 case HADR:
31014 case MULTI_USER:
31015 case RESTRICTED_USER:
31016 case SINGLE_USER:
31017 case OFFLINE:
31018 case EMERGENCY:
31019 case SUSPEND:
31020 case DATE_CORRELATION_OPTIMIZATION:
31021 case ELASTIC_POOL:
31022 case SERVICE_OBJECTIVE:
31023 case DATABASE_NAME:
31024 case ALLOW_CONNECTIONS:
31025 case GEO:
31026 case NAMED:
31027 case DATEFIRST:
31028 case BACKUP_STORAGE_REDUNDANCY:
31029 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
31030 case SECONDARY:
31031 case FAILOVER:
31032 case DEFAULT_FULLTEXT_LANGUAGE:
31033 case DEFAULT_LANGUAGE:
31034 case INLINE:
31035 case NESTED_TRIGGERS:
31036 case TRANSFORM_NOISE_WORDS:
31037 case TWO_DIGIT_YEAR_CUTOFF:
31038 case PERSISTENT_LOG_BUFFER:
31039 case DIRECTORY_NAME:
31040 case DATEFORMAT:
31041 case DELAYED_DURABILITY:
31042 case AUTHORIZATION:
31043 case TRANSFER:
31044 case PROVIDER:
31045 case SEARCH:
31046 case MEMBER:
31047 case OPENJSON:
31048 case OPENROWSET:
31049 case TRY_CAST:
31050 case TRY_CONVERT:
31051 case IDENTIFIER_:
31052 case DELIMITED_IDENTIFIER_:
31053 case STRING_:
31054 case NUMBER_:
31055 case HEX_DIGIT_:
31056 case BIT_NUM_:
31057 case NCHAR_TEXT:
31058 {
31059 setState(4318);
31060 expr(0);
31061 }
31062 break;
31063 default:
31064 throw new NoViableAltException(this);
31065 }
31066 }
31067 }
31068
31069 setState(4335);
31070 _errHandler.sync(this);
31071 _la = _input.LA(1);
31072 if (_la==WITH) {
31073 {
31074 setState(4323);
31075 match(WITH);
31076 setState(4324);
31077 match(LP_);
31078 setState(4325);
31079 relationalIndexOption();
31080 setState(4330);
31081 _errHandler.sync(this);
31082 _la = _input.LA(1);
31083 while (_la==COMMA_) {
31084 {
31085 {
31086 setState(4326);
31087 match(COMMA_);
31088 setState(4327);
31089 relationalIndexOption();
31090 }
31091 }
31092 setState(4332);
31093 _errHandler.sync(this);
31094 _la = _input.LA(1);
31095 }
31096 setState(4333);
31097 match(RP_);
31098 }
31099 }
31100
31101 }
31102 break;
31103 case DISABLE:
31104 enterOuterAlt(_localctx, 2);
31105 {
31106 setState(4337);
31107 match(DISABLE);
31108 }
31109 break;
31110 case REORGANIZE:
31111 enterOuterAlt(_localctx, 3);
31112 {
31113 setState(4338);
31114 match(REORGANIZE);
31115 setState(4342);
31116 _errHandler.sync(this);
31117 _la = _input.LA(1);
31118 if (_la==PARTITION) {
31119 {
31120 setState(4339);
31121 match(PARTITION);
31122 setState(4340);
31123 match(EQ_);
31124 setState(4341);
31125 expr(0);
31126 }
31127 }
31128
31129 setState(4349);
31130 _errHandler.sync(this);
31131 _la = _input.LA(1);
31132 if (_la==WITH) {
31133 {
31134 setState(4344);
31135 match(WITH);
31136 setState(4345);
31137 match(LP_);
31138 setState(4346);
31139 reorganizeOption();
31140 setState(4347);
31141 match(RP_);
31142 }
31143 }
31144
31145 }
31146 break;
31147 case SET:
31148 enterOuterAlt(_localctx, 4);
31149 {
31150 setState(4351);
31151 match(SET);
31152 setState(4352);
31153 match(LP_);
31154 setState(4353);
31155 setIndexOption();
31156 {
31157 setState(4354);
31158 match(COMMA_);
31159 setState(4355);
31160 setIndexOption();
31161 }
31162 setState(4357);
31163 match(RP_);
31164 }
31165 break;
31166 case RESUME:
31167 enterOuterAlt(_localctx, 5);
31168 {
31169 setState(4359);
31170 match(RESUME);
31171 setState(4372);
31172 _errHandler.sync(this);
31173 _la = _input.LA(1);
31174 if (_la==WITH) {
31175 {
31176 setState(4360);
31177 match(WITH);
31178 setState(4361);
31179 match(LP_);
31180 setState(4362);
31181 resumableIndexOptions();
31182 setState(4367);
31183 _errHandler.sync(this);
31184 _la = _input.LA(1);
31185 while (_la==COMMA_) {
31186 {
31187 {
31188 setState(4363);
31189 match(COMMA_);
31190 setState(4364);
31191 resumableIndexOptions();
31192 }
31193 }
31194 setState(4369);
31195 _errHandler.sync(this);
31196 _la = _input.LA(1);
31197 }
31198 setState(4370);
31199 match(RP_);
31200 }
31201 }
31202
31203 }
31204 break;
31205 case PAUSE:
31206 enterOuterAlt(_localctx, 6);
31207 {
31208 setState(4374);
31209 match(PAUSE);
31210 }
31211 break;
31212 case ABORT:
31213 enterOuterAlt(_localctx, 7);
31214 {
31215 setState(4375);
31216 match(ABORT);
31217 }
31218 break;
31219 default:
31220 throw new NoViableAltException(this);
31221 }
31222 }
31223 catch (RecognitionException re) {
31224 _localctx.exception = re;
31225 _errHandler.reportError(this, re);
31226 _errHandler.recover(this, re);
31227 }
31228 finally {
31229 exitRule();
31230 }
31231 return _localctx;
31232 }
31233
31234 public static class RelationalIndexOptionContext extends ParserRuleContext {
31235 public TerminalNode PAD_INDEX() { return getToken(SQLServerStatementParser.PAD_INDEX, 0); }
31236 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31237 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
31238 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
31239 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
31240 public ExprContext expr() {
31241 return getRuleContext(ExprContext.class,0);
31242 }
31243 public TerminalNode SORT_IN_TEMPDB() { return getToken(SQLServerStatementParser.SORT_IN_TEMPDB, 0); }
31244 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
31245 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
31246 public TerminalNode STATISTICS_INCREMENTAL() { return getToken(SQLServerStatementParser.STATISTICS_INCREMENTAL, 0); }
31247 public TerminalNode DROP_EXISTING() { return getToken(SQLServerStatementParser.DROP_EXISTING, 0); }
31248 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
31249 public LowPriorityLockWaitContext lowPriorityLockWait() {
31250 return getRuleContext(LowPriorityLockWaitContext.class,0);
31251 }
31252 public TerminalNode RESUMABLE() { return getToken(SQLServerStatementParser.RESUMABLE, 0); }
31253 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
31254 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
31255 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
31256 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
31257 public TerminalNode OPTIMIZE_FOR_SEQUENTIAL_KEY() { return getToken(SQLServerStatementParser.OPTIMIZE_FOR_SEQUENTIAL_KEY, 0); }
31258 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
31259 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
31260 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
31261 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
31262 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
31263 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
31264 public TerminalNode COLUMNSTORE_ARCHIVE() { return getToken(SQLServerStatementParser.COLUMNSTORE_ARCHIVE, 0); }
31265 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
31266 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
31267 public List<PartitionNumberRangeContext> partitionNumberRange() {
31268 return getRuleContexts(PartitionNumberRangeContext.class);
31269 }
31270 public PartitionNumberRangeContext partitionNumberRange(int i) {
31271 return getRuleContext(PartitionNumberRangeContext.class,i);
31272 }
31273 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
31274 public TerminalNode COMMA_(int i) {
31275 return getToken(SQLServerStatementParser.COMMA_, i);
31276 }
31277 public RelationalIndexOptionContext(ParserRuleContext parent, int invokingState) {
31278 super(parent, invokingState);
31279 }
31280 @Override public int getRuleIndex() { return RULE_relationalIndexOption; }
31281 @Override
31282 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31283 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRelationalIndexOption(this);
31284 else return visitor.visitChildren(this);
31285 }
31286 }
31287
31288 public final RelationalIndexOptionContext relationalIndexOption() throws RecognitionException {
31289 RelationalIndexOptionContext _localctx = new RelationalIndexOptionContext(_ctx, getState());
31290 enterRule(_localctx, 618, RULE_relationalIndexOption);
31291 int _la;
31292 try {
31293 int _alt;
31294 setState(4445);
31295 _errHandler.sync(this);
31296 switch (_input.LA(1)) {
31297 case PAD_INDEX:
31298 enterOuterAlt(_localctx, 1);
31299 {
31300 setState(4378);
31301 match(PAD_INDEX);
31302 setState(4379);
31303 match(EQ_);
31304 setState(4380);
31305 _la = _input.LA(1);
31306 if ( !(_la==ON || _la==OFF) ) {
31307 _errHandler.recoverInline(this);
31308 }
31309 else {
31310 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31311 _errHandler.reportMatch(this);
31312 consume();
31313 }
31314 }
31315 break;
31316 case FILLFACTOR:
31317 enterOuterAlt(_localctx, 2);
31318 {
31319 setState(4381);
31320 match(FILLFACTOR);
31321 setState(4382);
31322 match(EQ_);
31323 setState(4383);
31324 expr(0);
31325 }
31326 break;
31327 case SORT_IN_TEMPDB:
31328 enterOuterAlt(_localctx, 3);
31329 {
31330 setState(4384);
31331 match(SORT_IN_TEMPDB);
31332 setState(4385);
31333 match(EQ_);
31334 setState(4386);
31335 _la = _input.LA(1);
31336 if ( !(_la==ON || _la==OFF) ) {
31337 _errHandler.recoverInline(this);
31338 }
31339 else {
31340 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31341 _errHandler.reportMatch(this);
31342 consume();
31343 }
31344 }
31345 break;
31346 case IGNORE_DUP_KEY:
31347 enterOuterAlt(_localctx, 4);
31348 {
31349 setState(4387);
31350 match(IGNORE_DUP_KEY);
31351 setState(4388);
31352 match(EQ_);
31353 setState(4389);
31354 _la = _input.LA(1);
31355 if ( !(_la==ON || _la==OFF) ) {
31356 _errHandler.recoverInline(this);
31357 }
31358 else {
31359 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31360 _errHandler.reportMatch(this);
31361 consume();
31362 }
31363 }
31364 break;
31365 case STATISTICS_NORECOMPUTE:
31366 enterOuterAlt(_localctx, 5);
31367 {
31368 setState(4390);
31369 match(STATISTICS_NORECOMPUTE);
31370 setState(4391);
31371 match(EQ_);
31372 setState(4392);
31373 _la = _input.LA(1);
31374 if ( !(_la==ON || _la==OFF) ) {
31375 _errHandler.recoverInline(this);
31376 }
31377 else {
31378 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31379 _errHandler.reportMatch(this);
31380 consume();
31381 }
31382 }
31383 break;
31384 case STATISTICS_INCREMENTAL:
31385 enterOuterAlt(_localctx, 6);
31386 {
31387 setState(4393);
31388 match(STATISTICS_INCREMENTAL);
31389 setState(4394);
31390 match(EQ_);
31391 setState(4395);
31392 _la = _input.LA(1);
31393 if ( !(_la==ON || _la==OFF) ) {
31394 _errHandler.recoverInline(this);
31395 }
31396 else {
31397 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31398 _errHandler.reportMatch(this);
31399 consume();
31400 }
31401 }
31402 break;
31403 case DROP_EXISTING:
31404 enterOuterAlt(_localctx, 7);
31405 {
31406 setState(4396);
31407 match(DROP_EXISTING);
31408 setState(4397);
31409 match(EQ_);
31410 setState(4398);
31411 _la = _input.LA(1);
31412 if ( !(_la==ON || _la==OFF) ) {
31413 _errHandler.recoverInline(this);
31414 }
31415 else {
31416 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31417 _errHandler.reportMatch(this);
31418 consume();
31419 }
31420 }
31421 break;
31422 case ONLINE:
31423 enterOuterAlt(_localctx, 8);
31424 {
31425 setState(4399);
31426 match(ONLINE);
31427 setState(4400);
31428 match(EQ_);
31429 setState(4406);
31430 _errHandler.sync(this);
31431 switch (_input.LA(1)) {
31432 case ON:
31433 {
31434 setState(4401);
31435 match(ON);
31436 setState(4403);
31437 _errHandler.sync(this);
31438 _la = _input.LA(1);
31439 if (_la==WAIT_AT_LOW_PRIORITY) {
31440 {
31441 setState(4402);
31442 lowPriorityLockWait();
31443 }
31444 }
31445
31446 }
31447 break;
31448 case OFF:
31449 {
31450 setState(4405);
31451 match(OFF);
31452 }
31453 break;
31454 default:
31455 throw new NoViableAltException(this);
31456 }
31457 }
31458 break;
31459 case RESUMABLE:
31460 enterOuterAlt(_localctx, 9);
31461 {
31462 setState(4408);
31463 match(RESUMABLE);
31464 setState(4409);
31465 match(EQ_);
31466 setState(4410);
31467 _la = _input.LA(1);
31468 if ( !(_la==ON || _la==OFF) ) {
31469 _errHandler.recoverInline(this);
31470 }
31471 else {
31472 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31473 _errHandler.reportMatch(this);
31474 consume();
31475 }
31476 }
31477 break;
31478 case MAX_DURATION:
31479 enterOuterAlt(_localctx, 10);
31480 {
31481 setState(4411);
31482 match(MAX_DURATION);
31483 setState(4412);
31484 match(EQ_);
31485 setState(4413);
31486 expr(0);
31487 setState(4415);
31488 _errHandler.sync(this);
31489 _la = _input.LA(1);
31490 if (_la==MINUTES) {
31491 {
31492 setState(4414);
31493 match(MINUTES);
31494 }
31495 }
31496
31497 }
31498 break;
31499 case ALLOW_ROW_LOCKS:
31500 enterOuterAlt(_localctx, 11);
31501 {
31502 setState(4417);
31503 match(ALLOW_ROW_LOCKS);
31504 setState(4418);
31505 match(EQ_);
31506 setState(4419);
31507 _la = _input.LA(1);
31508 if ( !(_la==ON || _la==OFF) ) {
31509 _errHandler.recoverInline(this);
31510 }
31511 else {
31512 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31513 _errHandler.reportMatch(this);
31514 consume();
31515 }
31516 }
31517 break;
31518 case ALLOW_PAGE_LOCKS:
31519 enterOuterAlt(_localctx, 12);
31520 {
31521 setState(4420);
31522 match(ALLOW_PAGE_LOCKS);
31523 setState(4421);
31524 match(EQ_);
31525 setState(4422);
31526 _la = _input.LA(1);
31527 if ( !(_la==ON || _la==OFF) ) {
31528 _errHandler.recoverInline(this);
31529 }
31530 else {
31531 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31532 _errHandler.reportMatch(this);
31533 consume();
31534 }
31535 }
31536 break;
31537 case OPTIMIZE_FOR_SEQUENTIAL_KEY:
31538 enterOuterAlt(_localctx, 13);
31539 {
31540 setState(4423);
31541 match(OPTIMIZE_FOR_SEQUENTIAL_KEY);
31542 setState(4424);
31543 match(EQ_);
31544 setState(4425);
31545 _la = _input.LA(1);
31546 if ( !(_la==ON || _la==OFF) ) {
31547 _errHandler.recoverInline(this);
31548 }
31549 else {
31550 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31551 _errHandler.reportMatch(this);
31552 consume();
31553 }
31554 }
31555 break;
31556 case MAXDOP:
31557 enterOuterAlt(_localctx, 14);
31558 {
31559 setState(4426);
31560 match(MAXDOP);
31561 setState(4427);
31562 match(EQ_);
31563 setState(4428);
31564 expr(0);
31565 }
31566 break;
31567 case DATA_COMPRESSION:
31568 enterOuterAlt(_localctx, 15);
31569 {
31570 setState(4429);
31571 match(DATA_COMPRESSION);
31572 setState(4430);
31573 match(EQ_);
31574 setState(4431);
31575 _la = _input.LA(1);
31576 if ( !(((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (ROW - 248)) | (1L << (COLUMNSTORE - 248)) | (1L << (NONE - 248)) | (1L << (PAGE - 248)))) != 0) || _la==COLUMNSTORE_ARCHIVE) ) {
31577 _errHandler.recoverInline(this);
31578 }
31579 else {
31580 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31581 _errHandler.reportMatch(this);
31582 consume();
31583 }
31584 setState(4443);
31585 _errHandler.sync(this);
31586 _la = _input.LA(1);
31587 if (_la==ON) {
31588 {
31589 setState(4432);
31590 match(ON);
31591 setState(4433);
31592 match(PARTITIONS);
31593 setState(4434);
31594 match(LP_);
31595 setState(4435);
31596 partitionNumberRange();
31597 setState(4440);
31598 _errHandler.sync(this);
31599 _alt = getInterpreter().adaptivePredict(_input,477,_ctx);
31600 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
31601 if ( _alt==1 ) {
31602 {
31603 {
31604 setState(4436);
31605 match(COMMA_);
31606 setState(4437);
31607 partitionNumberRange();
31608 }
31609 }
31610 }
31611 setState(4442);
31612 _errHandler.sync(this);
31613 _alt = getInterpreter().adaptivePredict(_input,477,_ctx);
31614 }
31615 }
31616 }
31617
31618 }
31619 break;
31620 default:
31621 throw new NoViableAltException(this);
31622 }
31623 }
31624 catch (RecognitionException re) {
31625 _localctx.exception = re;
31626 _errHandler.reportError(this, re);
31627 _errHandler.recover(this, re);
31628 }
31629 finally {
31630 exitRule();
31631 }
31632 return _localctx;
31633 }
31634
31635 public static class PartitionNumberRangeContext extends ParserRuleContext {
31636 public List<ExprContext> expr() {
31637 return getRuleContexts(ExprContext.class);
31638 }
31639 public ExprContext expr(int i) {
31640 return getRuleContext(ExprContext.class,i);
31641 }
31642 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
31643 public PartitionNumberRangeContext(ParserRuleContext parent, int invokingState) {
31644 super(parent, invokingState);
31645 }
31646 @Override public int getRuleIndex() { return RULE_partitionNumberRange; }
31647 @Override
31648 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31649 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionNumberRange(this);
31650 else return visitor.visitChildren(this);
31651 }
31652 }
31653
31654 public final PartitionNumberRangeContext partitionNumberRange() throws RecognitionException {
31655 PartitionNumberRangeContext _localctx = new PartitionNumberRangeContext(_ctx, getState());
31656 enterRule(_localctx, 620, RULE_partitionNumberRange);
31657 int _la;
31658 try {
31659 enterOuterAlt(_localctx, 1);
31660 {
31661 setState(4447);
31662 expr(0);
31663 setState(4450);
31664 _errHandler.sync(this);
31665 _la = _input.LA(1);
31666 if (_la==TO) {
31667 {
31668 setState(4448);
31669 match(TO);
31670 setState(4449);
31671 expr(0);
31672 }
31673 }
31674
31675 }
31676 }
31677 catch (RecognitionException re) {
31678 _localctx.exception = re;
31679 _errHandler.reportError(this, re);
31680 _errHandler.recover(this, re);
31681 }
31682 finally {
31683 exitRule();
31684 }
31685 return _localctx;
31686 }
31687
31688 public static class ReorganizeOptionContext extends ParserRuleContext {
31689 public TerminalNode LOB_COMPACTION() { return getToken(SQLServerStatementParser.LOB_COMPACTION, 0); }
31690 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31691 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
31692 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
31693 public TerminalNode COMPRESS_ALL_ROW_GROUPS() { return getToken(SQLServerStatementParser.COMPRESS_ALL_ROW_GROUPS, 0); }
31694 public ReorganizeOptionContext(ParserRuleContext parent, int invokingState) {
31695 super(parent, invokingState);
31696 }
31697 @Override public int getRuleIndex() { return RULE_reorganizeOption; }
31698 @Override
31699 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31700 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitReorganizeOption(this);
31701 else return visitor.visitChildren(this);
31702 }
31703 }
31704
31705 public final ReorganizeOptionContext reorganizeOption() throws RecognitionException {
31706 ReorganizeOptionContext _localctx = new ReorganizeOptionContext(_ctx, getState());
31707 enterRule(_localctx, 622, RULE_reorganizeOption);
31708 int _la;
31709 try {
31710 setState(4458);
31711 _errHandler.sync(this);
31712 switch (_input.LA(1)) {
31713 case LOB_COMPACTION:
31714 enterOuterAlt(_localctx, 1);
31715 {
31716 setState(4452);
31717 match(LOB_COMPACTION);
31718 setState(4453);
31719 match(EQ_);
31720 setState(4454);
31721 _la = _input.LA(1);
31722 if ( !(_la==ON || _la==OFF) ) {
31723 _errHandler.recoverInline(this);
31724 }
31725 else {
31726 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31727 _errHandler.reportMatch(this);
31728 consume();
31729 }
31730 }
31731 break;
31732 case COMPRESS_ALL_ROW_GROUPS:
31733 enterOuterAlt(_localctx, 2);
31734 {
31735 setState(4455);
31736 match(COMPRESS_ALL_ROW_GROUPS);
31737 setState(4456);
31738 match(EQ_);
31739 setState(4457);
31740 _la = _input.LA(1);
31741 if ( !(_la==ON || _la==OFF) ) {
31742 _errHandler.recoverInline(this);
31743 }
31744 else {
31745 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31746 _errHandler.reportMatch(this);
31747 consume();
31748 }
31749 }
31750 break;
31751 default:
31752 throw new NoViableAltException(this);
31753 }
31754 }
31755 catch (RecognitionException re) {
31756 _localctx.exception = re;
31757 _errHandler.reportError(this, re);
31758 _errHandler.recover(this, re);
31759 }
31760 finally {
31761 exitRule();
31762 }
31763 return _localctx;
31764 }
31765
31766 public static class SetIndexOptionContext extends ParserRuleContext {
31767 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
31768 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31769 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
31770 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
31771 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
31772 public TerminalNode OPTIMIZE_FOR_SEQUENTIAL_KEY() { return getToken(SQLServerStatementParser.OPTIMIZE_FOR_SEQUENTIAL_KEY, 0); }
31773 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
31774 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
31775 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
31776 public ExprContext expr() {
31777 return getRuleContext(ExprContext.class,0);
31778 }
31779 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
31780 public SetIndexOptionContext(ParserRuleContext parent, int invokingState) {
31781 super(parent, invokingState);
31782 }
31783 @Override public int getRuleIndex() { return RULE_setIndexOption; }
31784 @Override
31785 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31786 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetIndexOption(this);
31787 else return visitor.visitChildren(this);
31788 }
31789 }
31790
31791 public final SetIndexOptionContext setIndexOption() throws RecognitionException {
31792 SetIndexOptionContext _localctx = new SetIndexOptionContext(_ctx, getState());
31793 enterRule(_localctx, 624, RULE_setIndexOption);
31794 int _la;
31795 try {
31796 setState(4481);
31797 _errHandler.sync(this);
31798 switch (_input.LA(1)) {
31799 case ALLOW_ROW_LOCKS:
31800 enterOuterAlt(_localctx, 1);
31801 {
31802 setState(4460);
31803 match(ALLOW_ROW_LOCKS);
31804 setState(4461);
31805 match(EQ_);
31806 setState(4462);
31807 _la = _input.LA(1);
31808 if ( !(_la==ON || _la==OFF) ) {
31809 _errHandler.recoverInline(this);
31810 }
31811 else {
31812 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31813 _errHandler.reportMatch(this);
31814 consume();
31815 }
31816 }
31817 break;
31818 case ALLOW_PAGE_LOCKS:
31819 enterOuterAlt(_localctx, 2);
31820 {
31821 setState(4463);
31822 match(ALLOW_PAGE_LOCKS);
31823 setState(4464);
31824 match(EQ_);
31825 setState(4465);
31826 _la = _input.LA(1);
31827 if ( !(_la==ON || _la==OFF) ) {
31828 _errHandler.recoverInline(this);
31829 }
31830 else {
31831 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31832 _errHandler.reportMatch(this);
31833 consume();
31834 }
31835 }
31836 break;
31837 case OPTIMIZE_FOR_SEQUENTIAL_KEY:
31838 enterOuterAlt(_localctx, 3);
31839 {
31840 setState(4466);
31841 match(OPTIMIZE_FOR_SEQUENTIAL_KEY);
31842 setState(4467);
31843 match(EQ_);
31844 setState(4468);
31845 _la = _input.LA(1);
31846 if ( !(_la==ON || _la==OFF) ) {
31847 _errHandler.recoverInline(this);
31848 }
31849 else {
31850 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31851 _errHandler.reportMatch(this);
31852 consume();
31853 }
31854 }
31855 break;
31856 case IGNORE_DUP_KEY:
31857 enterOuterAlt(_localctx, 4);
31858 {
31859 setState(4469);
31860 match(IGNORE_DUP_KEY);
31861 setState(4470);
31862 match(EQ_);
31863 setState(4471);
31864 _la = _input.LA(1);
31865 if ( !(_la==ON || _la==OFF) ) {
31866 _errHandler.recoverInline(this);
31867 }
31868 else {
31869 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31870 _errHandler.reportMatch(this);
31871 consume();
31872 }
31873 }
31874 break;
31875 case STATISTICS_NORECOMPUTE:
31876 enterOuterAlt(_localctx, 5);
31877 {
31878 setState(4472);
31879 match(STATISTICS_NORECOMPUTE);
31880 setState(4473);
31881 match(EQ_);
31882 setState(4474);
31883 _la = _input.LA(1);
31884 if ( !(_la==ON || _la==OFF) ) {
31885 _errHandler.recoverInline(this);
31886 }
31887 else {
31888 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31889 _errHandler.reportMatch(this);
31890 consume();
31891 }
31892 }
31893 break;
31894 case COMPRESSION_DELAY:
31895 enterOuterAlt(_localctx, 6);
31896 {
31897 setState(4475);
31898 match(COMPRESSION_DELAY);
31899 setState(4476);
31900 match(EQ_);
31901 {
31902 setState(4477);
31903 expr(0);
31904 setState(4479);
31905 _errHandler.sync(this);
31906 _la = _input.LA(1);
31907 if (_la==MINUTES) {
31908 {
31909 setState(4478);
31910 match(MINUTES);
31911 }
31912 }
31913
31914 }
31915 }
31916 break;
31917 default:
31918 throw new NoViableAltException(this);
31919 }
31920 }
31921 catch (RecognitionException re) {
31922 _localctx.exception = re;
31923 _errHandler.reportError(this, re);
31924 _errHandler.recover(this, re);
31925 }
31926 finally {
31927 exitRule();
31928 }
31929 return _localctx;
31930 }
31931
31932 public static class ResumableIndexOptionsContext extends ParserRuleContext {
31933 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
31934 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31935 public ExprContext expr() {
31936 return getRuleContext(ExprContext.class,0);
31937 }
31938 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
31939 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
31940 public LowPriorityLockWaitContext lowPriorityLockWait() {
31941 return getRuleContext(LowPriorityLockWaitContext.class,0);
31942 }
31943 public ResumableIndexOptionsContext(ParserRuleContext parent, int invokingState) {
31944 super(parent, invokingState);
31945 }
31946 @Override public int getRuleIndex() { return RULE_resumableIndexOptions; }
31947 @Override
31948 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31949 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitResumableIndexOptions(this);
31950 else return visitor.visitChildren(this);
31951 }
31952 }
31953
31954 public final ResumableIndexOptionsContext resumableIndexOptions() throws RecognitionException {
31955 ResumableIndexOptionsContext _localctx = new ResumableIndexOptionsContext(_ctx, getState());
31956 enterRule(_localctx, 626, RULE_resumableIndexOptions);
31957 int _la;
31958 try {
31959 setState(4493);
31960 _errHandler.sync(this);
31961 switch (_input.LA(1)) {
31962 case MAXDOP:
31963 enterOuterAlt(_localctx, 1);
31964 {
31965 setState(4483);
31966 match(MAXDOP);
31967 setState(4484);
31968 match(EQ_);
31969 setState(4485);
31970 expr(0);
31971 }
31972 break;
31973 case MAX_DURATION:
31974 enterOuterAlt(_localctx, 2);
31975 {
31976 setState(4486);
31977 match(MAX_DURATION);
31978 setState(4487);
31979 match(EQ_);
31980 setState(4488);
31981 expr(0);
31982 setState(4490);
31983 _errHandler.sync(this);
31984 _la = _input.LA(1);
31985 if (_la==MINUTES) {
31986 {
31987 setState(4489);
31988 match(MINUTES);
31989 }
31990 }
31991
31992 }
31993 break;
31994 case WAIT_AT_LOW_PRIORITY:
31995 enterOuterAlt(_localctx, 3);
31996 {
31997 setState(4492);
31998 lowPriorityLockWait();
31999 }
32000 break;
32001 default:
32002 throw new NoViableAltException(this);
32003 }
32004 }
32005 catch (RecognitionException re) {
32006 _localctx.exception = re;
32007 _errHandler.reportError(this, re);
32008 _errHandler.recover(this, re);
32009 }
32010 finally {
32011 exitRule();
32012 }
32013 return _localctx;
32014 }
32015
32016 public static class AlterDatabaseClauseContext extends ParserRuleContext {
32017 public TerminalNode MODIFY() { return getToken(SQLServerStatementParser.MODIFY, 0); }
32018 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
32019 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32020 public DatabaseNameContext databaseName() {
32021 return getRuleContext(DatabaseNameContext.class,0);
32022 }
32023 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
32024 public IgnoredIdentifierContext ignoredIdentifier() {
32025 return getRuleContext(IgnoredIdentifierContext.class,0);
32026 }
32027 public FileAndFilegroupOptionsContext fileAndFilegroupOptions() {
32028 return getRuleContext(FileAndFilegroupOptionsContext.class,0);
32029 }
32030 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
32031 public List<AlterDatabaseOptionSpecContext> alterDatabaseOptionSpec() {
32032 return getRuleContexts(AlterDatabaseOptionSpecContext.class);
32033 }
32034 public AlterDatabaseOptionSpecContext alterDatabaseOptionSpec(int i) {
32035 return getRuleContext(AlterDatabaseOptionSpecContext.class,i);
32036 }
32037 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
32038 public TerminalNode COMMA_(int i) {
32039 return getToken(SQLServerStatementParser.COMMA_, i);
32040 }
32041 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
32042 public TerminationContext termination() {
32043 return getRuleContext(TerminationContext.class,0);
32044 }
32045 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32046 public List<EditionOptionsContext> editionOptions() {
32047 return getRuleContexts(EditionOptionsContext.class);
32048 }
32049 public EditionOptionsContext editionOptions(int i) {
32050 return getRuleContext(EditionOptionsContext.class,i);
32051 }
32052 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32053 public TerminalNode BACKUP_STORAGE_REDUNDANCY() { return getToken(SQLServerStatementParser.BACKUP_STORAGE_REDUNDANCY, 0); }
32054 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
32055 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
32056 public TerminalNode SECONDARY() { return getToken(SQLServerStatementParser.SECONDARY, 0); }
32057 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32058 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
32059 public List<AddSecondaryOptionContext> addSecondaryOption() {
32060 return getRuleContexts(AddSecondaryOptionContext.class);
32061 }
32062 public AddSecondaryOptionContext addSecondaryOption(int i) {
32063 return getRuleContext(AddSecondaryOptionContext.class,i);
32064 }
32065 public TerminalNode FAILOVER() { return getToken(SQLServerStatementParser.FAILOVER, 0); }
32066 public TerminalNode FORCE_FAILOVER_ALLOW_DATA_LOSS() { return getToken(SQLServerStatementParser.FORCE_FAILOVER_ALLOW_DATA_LOSS, 0); }
32067 public AlterDatabaseClauseContext(ParserRuleContext parent, int invokingState) {
32068 super(parent, invokingState);
32069 }
32070 @Override public int getRuleIndex() { return RULE_alterDatabaseClause; }
32071 @Override
32072 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32073 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDatabaseClause(this);
32074 else return visitor.visitChildren(this);
32075 }
32076 }
32077
32078 public final AlterDatabaseClauseContext alterDatabaseClause() throws RecognitionException {
32079 AlterDatabaseClauseContext _localctx = new AlterDatabaseClauseContext(_ctx, getState());
32080 enterRule(_localctx, 628, RULE_alterDatabaseClause);
32081 int _la;
32082 try {
32083 setState(4549);
32084 _errHandler.sync(this);
32085 switch ( getInterpreter().adaptivePredict(_input,491,_ctx) ) {
32086 case 1:
32087 enterOuterAlt(_localctx, 1);
32088 {
32089 setState(4495);
32090 match(MODIFY);
32091 setState(4496);
32092 match(NAME);
32093 setState(4497);
32094 match(EQ_);
32095 setState(4498);
32096 databaseName();
32097 }
32098 break;
32099 case 2:
32100 enterOuterAlt(_localctx, 2);
32101 {
32102 setState(4499);
32103 match(COLLATE);
32104 setState(4500);
32105 ignoredIdentifier();
32106 }
32107 break;
32108 case 3:
32109 enterOuterAlt(_localctx, 3);
32110 {
32111 setState(4501);
32112 fileAndFilegroupOptions();
32113 }
32114 break;
32115 case 4:
32116 enterOuterAlt(_localctx, 4);
32117 {
32118 setState(4502);
32119 match(SET);
32120 setState(4503);
32121 alterDatabaseOptionSpec();
32122 setState(4508);
32123 _errHandler.sync(this);
32124 _la = _input.LA(1);
32125 while (_la==COMMA_) {
32126 {
32127 {
32128 setState(4504);
32129 match(COMMA_);
32130 setState(4505);
32131 alterDatabaseOptionSpec();
32132 }
32133 }
32134 setState(4510);
32135 _errHandler.sync(this);
32136 _la = _input.LA(1);
32137 }
32138 setState(4513);
32139 _errHandler.sync(this);
32140 _la = _input.LA(1);
32141 if (_la==WITH) {
32142 {
32143 setState(4511);
32144 match(WITH);
32145 setState(4512);
32146 termination();
32147 }
32148 }
32149
32150 }
32151 break;
32152 case 5:
32153 enterOuterAlt(_localctx, 5);
32154 {
32155 setState(4515);
32156 match(MODIFY);
32157 setState(4516);
32158 match(LP_);
32159 setState(4517);
32160 editionOptions();
32161 setState(4522);
32162 _errHandler.sync(this);
32163 _la = _input.LA(1);
32164 while (_la==COMMA_) {
32165 {
32166 {
32167 setState(4518);
32168 match(COMMA_);
32169 setState(4519);
32170 editionOptions();
32171 }
32172 }
32173 setState(4524);
32174 _errHandler.sync(this);
32175 _la = _input.LA(1);
32176 }
32177 setState(4525);
32178 match(RP_);
32179 }
32180 break;
32181 case 6:
32182 enterOuterAlt(_localctx, 6);
32183 {
32184 setState(4527);
32185 match(MODIFY);
32186 setState(4528);
32187 match(BACKUP_STORAGE_REDUNDANCY);
32188 setState(4529);
32189 match(EQ_);
32190 setState(4530);
32191 match(STRING_);
32192 }
32193 break;
32194 case 7:
32195 enterOuterAlt(_localctx, 7);
32196 {
32197 setState(4531);
32198 match(ADD);
32199 setState(4532);
32200 match(SECONDARY);
32201 setState(4533);
32202 match(ON);
32203 setState(4534);
32204 match(SERVER);
32205 setState(4535);
32206 ignoredIdentifier();
32207 setState(4545);
32208 _errHandler.sync(this);
32209 _la = _input.LA(1);
32210 if (_la==WITH) {
32211 {
32212 setState(4536);
32213 match(WITH);
32214 setState(4537);
32215 addSecondaryOption();
32216 setState(4542);
32217 _errHandler.sync(this);
32218 _la = _input.LA(1);
32219 while (_la==COMMA_) {
32220 {
32221 {
32222 setState(4538);
32223 match(COMMA_);
32224 setState(4539);
32225 addSecondaryOption();
32226 }
32227 }
32228 setState(4544);
32229 _errHandler.sync(this);
32230 _la = _input.LA(1);
32231 }
32232 }
32233 }
32234
32235 }
32236 break;
32237 case 8:
32238 enterOuterAlt(_localctx, 8);
32239 {
32240 setState(4547);
32241 match(FAILOVER);
32242 }
32243 break;
32244 case 9:
32245 enterOuterAlt(_localctx, 9);
32246 {
32247 setState(4548);
32248 match(FORCE_FAILOVER_ALLOW_DATA_LOSS);
32249 }
32250 break;
32251 }
32252 }
32253 catch (RecognitionException re) {
32254 _localctx.exception = re;
32255 _errHandler.reportError(this, re);
32256 _errHandler.recover(this, re);
32257 }
32258 finally {
32259 exitRule();
32260 }
32261 return _localctx;
32262 }
32263
32264 public static class AddSecondaryOptionContext extends ParserRuleContext {
32265 public Token SECONDARY_TYPE;
32266 public TerminalNode ALLOW_CONNECTIONS() { return getToken(SQLServerStatementParser.ALLOW_CONNECTIONS, 0); }
32267 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
32268 public TerminalNode EQ_(int i) {
32269 return getToken(SQLServerStatementParser.EQ_, i);
32270 }
32271 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
32272 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
32273 public TerminalNode SERVICE_OBJECTIVE() { return getToken(SQLServerStatementParser.SERVICE_OBJECTIVE, 0); }
32274 public ServiceObjectiveContext serviceObjective() {
32275 return getRuleContext(ServiceObjectiveContext.class,0);
32276 }
32277 public TerminalNode DATABASE_NAME() { return getToken(SQLServerStatementParser.DATABASE_NAME, 0); }
32278 public DatabaseNameContext databaseName() {
32279 return getRuleContext(DatabaseNameContext.class,0);
32280 }
32281 public TerminalNode GEO() { return getToken(SQLServerStatementParser.GEO, 0); }
32282 public TerminalNode NAMED() { return getToken(SQLServerStatementParser.NAMED, 0); }
32283 public AddSecondaryOptionContext(ParserRuleContext parent, int invokingState) {
32284 super(parent, invokingState);
32285 }
32286 @Override public int getRuleIndex() { return RULE_addSecondaryOption; }
32287 @Override
32288 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32289 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddSecondaryOption(this);
32290 else return visitor.visitChildren(this);
32291 }
32292 }
32293
32294 public final AddSecondaryOptionContext addSecondaryOption() throws RecognitionException {
32295 AddSecondaryOptionContext _localctx = new AddSecondaryOptionContext(_ctx, getState());
32296 enterRule(_localctx, 630, RULE_addSecondaryOption);
32297 int _la;
32298 try {
32299 setState(4563);
32300 _errHandler.sync(this);
32301 switch (_input.LA(1)) {
32302 case ALLOW_CONNECTIONS:
32303 enterOuterAlt(_localctx, 1);
32304 {
32305 setState(4551);
32306 match(ALLOW_CONNECTIONS);
32307 setState(4552);
32308 match(EQ_);
32309 setState(4553);
32310 _la = _input.LA(1);
32311 if ( !(_la==ALL || _la==NO) ) {
32312 _errHandler.recoverInline(this);
32313 }
32314 else {
32315 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32316 _errHandler.reportMatch(this);
32317 consume();
32318 }
32319 }
32320 break;
32321 case SERVICE_OBJECTIVE:
32322 enterOuterAlt(_localctx, 2);
32323 {
32324 setState(4554);
32325 match(SERVICE_OBJECTIVE);
32326 setState(4555);
32327 match(EQ_);
32328 setState(4561);
32329 _errHandler.sync(this);
32330 switch (_input.LA(1)) {
32331 case ELASTIC_POOL:
32332 case STRING_:
32333 {
32334 setState(4556);
32335 serviceObjective();
32336 }
32337 break;
32338 case DATABASE_NAME:
32339 {
32340 setState(4557);
32341 match(DATABASE_NAME);
32342 setState(4558);
32343 match(EQ_);
32344 setState(4559);
32345 databaseName();
32346 }
32347 break;
32348 case GEO:
32349 case NAMED:
32350 {
32351 setState(4560);
32352 ((AddSecondaryOptionContext)_localctx).SECONDARY_TYPE = _input.LT(1);
32353 _la = _input.LA(1);
32354 if ( !(_la==GEO || _la==NAMED) ) {
32355 ((AddSecondaryOptionContext)_localctx).SECONDARY_TYPE = (Token)_errHandler.recoverInline(this);
32356 }
32357 else {
32358 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32359 _errHandler.reportMatch(this);
32360 consume();
32361 }
32362 }
32363 break;
32364 default:
32365 throw new NoViableAltException(this);
32366 }
32367 }
32368 break;
32369 default:
32370 throw new NoViableAltException(this);
32371 }
32372 }
32373 catch (RecognitionException re) {
32374 _localctx.exception = re;
32375 _errHandler.reportError(this, re);
32376 _errHandler.recover(this, re);
32377 }
32378 finally {
32379 exitRule();
32380 }
32381 return _localctx;
32382 }
32383
32384 public static class EditionOptionsContext extends ParserRuleContext {
32385 public TerminalNode MAXSIZE() { return getToken(SQLServerStatementParser.MAXSIZE, 0); }
32386 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32387 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
32388 public TerminalNode MB() { return getToken(SQLServerStatementParser.MB, 0); }
32389 public TerminalNode GB() { return getToken(SQLServerStatementParser.GB, 0); }
32390 public TerminalNode EDITION() { return getToken(SQLServerStatementParser.EDITION, 0); }
32391 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
32392 public TerminalNode SERVICE_OBJECTIVE() { return getToken(SQLServerStatementParser.SERVICE_OBJECTIVE, 0); }
32393 public ServiceObjectiveContext serviceObjective() {
32394 return getRuleContext(ServiceObjectiveContext.class,0);
32395 }
32396 public EditionOptionsContext(ParserRuleContext parent, int invokingState) {
32397 super(parent, invokingState);
32398 }
32399 @Override public int getRuleIndex() { return RULE_editionOptions; }
32400 @Override
32401 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32402 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEditionOptions(this);
32403 else return visitor.visitChildren(this);
32404 }
32405 }
32406
32407 public final EditionOptionsContext editionOptions() throws RecognitionException {
32408 EditionOptionsContext _localctx = new EditionOptionsContext(_ctx, getState());
32409 enterRule(_localctx, 632, RULE_editionOptions);
32410 int _la;
32411 try {
32412 setState(4578);
32413 _errHandler.sync(this);
32414 switch (_input.LA(1)) {
32415 case MAXSIZE:
32416 enterOuterAlt(_localctx, 1);
32417 {
32418 setState(4565);
32419 match(MAXSIZE);
32420 setState(4566);
32421 match(EQ_);
32422 setState(4567);
32423 match(NUMBER_);
32424 setState(4568);
32425 _la = _input.LA(1);
32426 if ( !(_la==MB || _la==GB) ) {
32427 _errHandler.recoverInline(this);
32428 }
32429 else {
32430 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32431 _errHandler.reportMatch(this);
32432 consume();
32433 }
32434 }
32435 break;
32436 case EDITION:
32437 enterOuterAlt(_localctx, 2);
32438 {
32439 setState(4569);
32440 match(EDITION);
32441 setState(4570);
32442 match(EQ_);
32443 setState(4571);
32444 match(STRING_);
32445 }
32446 break;
32447 case SERVICE_OBJECTIVE:
32448 enterOuterAlt(_localctx, 3);
32449 {
32450 setState(4572);
32451 match(SERVICE_OBJECTIVE);
32452 setState(4573);
32453 match(EQ_);
32454 setState(4576);
32455 _errHandler.sync(this);
32456 switch ( getInterpreter().adaptivePredict(_input,494,_ctx) ) {
32457 case 1:
32458 {
32459 setState(4574);
32460 match(STRING_);
32461 }
32462 break;
32463 case 2:
32464 {
32465 setState(4575);
32466 serviceObjective();
32467 }
32468 break;
32469 }
32470 }
32471 break;
32472 default:
32473 throw new NoViableAltException(this);
32474 }
32475 }
32476 catch (RecognitionException re) {
32477 _localctx.exception = re;
32478 _errHandler.reportError(this, re);
32479 _errHandler.recover(this, re);
32480 }
32481 finally {
32482 exitRule();
32483 }
32484 return _localctx;
32485 }
32486
32487 public static class ServiceObjectiveContext extends ParserRuleContext {
32488 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
32489 public TerminalNode ELASTIC_POOL() { return getToken(SQLServerStatementParser.ELASTIC_POOL, 0); }
32490 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32491 public IgnoredIdentifierContext ignoredIdentifier() {
32492 return getRuleContext(IgnoredIdentifierContext.class,0);
32493 }
32494 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32495 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32496 public ServiceObjectiveContext(ParserRuleContext parent, int invokingState) {
32497 super(parent, invokingState);
32498 }
32499 @Override public int getRuleIndex() { return RULE_serviceObjective; }
32500 @Override
32501 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32502 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceObjective(this);
32503 else return visitor.visitChildren(this);
32504 }
32505 }
32506
32507 public final ServiceObjectiveContext serviceObjective() throws RecognitionException {
32508 ServiceObjectiveContext _localctx = new ServiceObjectiveContext(_ctx, getState());
32509 enterRule(_localctx, 634, RULE_serviceObjective);
32510 try {
32511 setState(4588);
32512 _errHandler.sync(this);
32513 switch (_input.LA(1)) {
32514 case STRING_:
32515 enterOuterAlt(_localctx, 1);
32516 {
32517 setState(4580);
32518 match(STRING_);
32519 }
32520 break;
32521 case ELASTIC_POOL:
32522 enterOuterAlt(_localctx, 2);
32523 {
32524 setState(4581);
32525 match(ELASTIC_POOL);
32526 setState(4582);
32527 match(LP_);
32528 setState(4583);
32529 ignoredIdentifier();
32530 setState(4584);
32531 match(EQ_);
32532 setState(4585);
32533 match(STRING_);
32534 setState(4586);
32535 match(RP_);
32536 }
32537 break;
32538 default:
32539 throw new NoViableAltException(this);
32540 }
32541 }
32542 catch (RecognitionException re) {
32543 _localctx.exception = re;
32544 _errHandler.reportError(this, re);
32545 _errHandler.recover(this, re);
32546 }
32547 finally {
32548 exitRule();
32549 }
32550 return _localctx;
32551 }
32552
32553 public static class AlterDatabaseOptionSpecContext extends ParserRuleContext {
32554 public AcceleratedDatabaseRecoveryContext acceleratedDatabaseRecovery() {
32555 return getRuleContext(AcceleratedDatabaseRecoveryContext.class,0);
32556 }
32557 public AutoOptionContext autoOption() {
32558 return getRuleContext(AutoOptionContext.class,0);
32559 }
32560 public AutomaticTuningOptionContext automaticTuningOption() {
32561 return getRuleContext(AutomaticTuningOptionContext.class,0);
32562 }
32563 public ChangeTrackingOptionContext changeTrackingOption() {
32564 return getRuleContext(ChangeTrackingOptionContext.class,0);
32565 }
32566 public TerminalNode CONTAINMENT() { return getToken(SQLServerStatementParser.CONTAINMENT, 0); }
32567 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32568 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
32569 public TerminalNode PARTIAL() { return getToken(SQLServerStatementParser.PARTIAL, 0); }
32570 public CursorOptionContext cursorOption() {
32571 return getRuleContext(CursorOptionContext.class,0);
32572 }
32573 public TerminalNode DATE_CORRELATION_OPTIMIZATION() { return getToken(SQLServerStatementParser.DATE_CORRELATION_OPTIMIZATION, 0); }
32574 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32575 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32576 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
32577 public TerminalNode SUSPEND() { return getToken(SQLServerStatementParser.SUSPEND, 0); }
32578 public TerminalNode RESUME() { return getToken(SQLServerStatementParser.RESUME, 0); }
32579 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
32580 public TerminalNode OFFLINE() { return getToken(SQLServerStatementParser.OFFLINE, 0); }
32581 public TerminalNode EMERGENCY() { return getToken(SQLServerStatementParser.EMERGENCY, 0); }
32582 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
32583 public TerminalNode READ_WRITE() { return getToken(SQLServerStatementParser.READ_WRITE, 0); }
32584 public TerminalNode SINGLE_USER() { return getToken(SQLServerStatementParser.SINGLE_USER, 0); }
32585 public TerminalNode RESTRICTED_USER() { return getToken(SQLServerStatementParser.RESTRICTED_USER, 0); }
32586 public TerminalNode MULTI_USER() { return getToken(SQLServerStatementParser.MULTI_USER, 0); }
32587 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
32588 public TerminalNode DISABLED() { return getToken(SQLServerStatementParser.DISABLED, 0); }
32589 public TerminalNode ALLOWED() { return getToken(SQLServerStatementParser.ALLOWED, 0); }
32590 public TerminalNode FORCED() { return getToken(SQLServerStatementParser.FORCED, 0); }
32591 public ExternalAccessOptionContext externalAccessOption() {
32592 return getRuleContext(ExternalAccessOptionContext.class,0);
32593 }
32594 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
32595 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32596 public FileStreamOptionContext fileStreamOption() {
32597 return getRuleContext(FileStreamOptionContext.class,0);
32598 }
32599 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32600 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
32601 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
32602 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
32603 public TerminalNode HADR() { return getToken(SQLServerStatementParser.HADR, 0); }
32604 public TerminalNode MIXED_PAGE_ALLOCATION() { return getToken(SQLServerStatementParser.MIXED_PAGE_ALLOCATION, 0); }
32605 public TerminalNode PARAMETERIZATION() { return getToken(SQLServerStatementParser.PARAMETERIZATION, 0); }
32606 public TerminalNode SIMPLE() { return getToken(SQLServerStatementParser.SIMPLE, 0); }
32607 public QueryStoreOptionsContext queryStoreOptions() {
32608 return getRuleContext(QueryStoreOptionsContext.class,0);
32609 }
32610 public RecoveryOptionContext recoveryOption() {
32611 return getRuleContext(RecoveryOptionContext.class,0);
32612 }
32613 public ServiceBrokerOptionContext serviceBrokerOption() {
32614 return getRuleContext(ServiceBrokerOptionContext.class,0);
32615 }
32616 public SnapshotOptionContext snapshotOption() {
32617 return getRuleContext(SnapshotOptionContext.class,0);
32618 }
32619 public SqlOptionContext sqlOption() {
32620 return getRuleContext(SqlOptionContext.class,0);
32621 }
32622 public TargetRecoveryTimeOptionContext targetRecoveryTimeOption() {
32623 return getRuleContext(TargetRecoveryTimeOptionContext.class,0);
32624 }
32625 public TerminationContext termination() {
32626 return getRuleContext(TerminationContext.class,0);
32627 }
32628 public TerminalNode TEMPORAL_HISTORY_RETENTION() { return getToken(SQLServerStatementParser.TEMPORAL_HISTORY_RETENTION, 0); }
32629 public TerminalNode DATA_RETENTION() { return getToken(SQLServerStatementParser.DATA_RETENTION, 0); }
32630 public AlterDatabaseOptionSpecContext(ParserRuleContext parent, int invokingState) {
32631 super(parent, invokingState);
32632 }
32633 @Override public int getRuleIndex() { return RULE_alterDatabaseOptionSpec; }
32634 @Override
32635 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32636 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDatabaseOptionSpec(this);
32637 else return visitor.visitChildren(this);
32638 }
32639 }
32640
32641 public final AlterDatabaseOptionSpecContext alterDatabaseOptionSpec() throws RecognitionException {
32642 AlterDatabaseOptionSpecContext _localctx = new AlterDatabaseOptionSpecContext(_ctx, getState());
32643 enterRule(_localctx, 636, RULE_alterDatabaseOptionSpec);
32644 int _la;
32645 try {
32646 setState(4633);
32647 _errHandler.sync(this);
32648 switch (_input.LA(1)) {
32649 case ACCELERATED_DATABASE_RECOVERY:
32650 enterOuterAlt(_localctx, 1);
32651 {
32652 setState(4590);
32653 acceleratedDatabaseRecovery();
32654 }
32655 break;
32656 case AUTO_UPDATE_STATISTICS_ASYNC:
32657 case AUTO_UPDATE_STATISTICS:
32658 case AUTO_SHRINK:
32659 case AUTO_CREATE_STATISTICS:
32660 case AUTO_CLOSE:
32661 enterOuterAlt(_localctx, 2);
32662 {
32663 setState(4591);
32664 autoOption();
32665 }
32666 break;
32667 case AUTOMATIC_TUNING:
32668 enterOuterAlt(_localctx, 3);
32669 {
32670 setState(4592);
32671 automaticTuningOption();
32672 }
32673 break;
32674 case CHANGE_TRACKING:
32675 enterOuterAlt(_localctx, 4);
32676 {
32677 setState(4593);
32678 changeTrackingOption();
32679 }
32680 break;
32681 case CONTAINMENT:
32682 enterOuterAlt(_localctx, 5);
32683 {
32684 setState(4594);
32685 match(CONTAINMENT);
32686 setState(4595);
32687 match(EQ_);
32688 setState(4596);
32689 _la = _input.LA(1);
32690 if ( !(_la==NONE || _la==PARTIAL) ) {
32691 _errHandler.recoverInline(this);
32692 }
32693 else {
32694 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32695 _errHandler.reportMatch(this);
32696 consume();
32697 }
32698 }
32699 break;
32700 case CURSOR_DEFAULT:
32701 case CURSOR_CLOSE_ON_COMMIT:
32702 enterOuterAlt(_localctx, 6);
32703 {
32704 setState(4597);
32705 cursorOption();
32706 }
32707 break;
32708 case DATE_CORRELATION_OPTIMIZATION:
32709 enterOuterAlt(_localctx, 7);
32710 {
32711 setState(4598);
32712 match(DATE_CORRELATION_OPTIMIZATION);
32713 setState(4599);
32714 _la = _input.LA(1);
32715 if ( !(_la==ON || _la==OFF) ) {
32716 _errHandler.recoverInline(this);
32717 }
32718 else {
32719 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32720 _errHandler.reportMatch(this);
32721 consume();
32722 }
32723 }
32724 break;
32725 case ENCRYPTION:
32726 enterOuterAlt(_localctx, 8);
32727 {
32728 setState(4600);
32729 match(ENCRYPTION);
32730 setState(4601);
32731 _la = _input.LA(1);
32732 if ( !(_la==ON || _la==OFF || _la==RESUME || _la==SUSPEND) ) {
32733 _errHandler.recoverInline(this);
32734 }
32735 else {
32736 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32737 _errHandler.reportMatch(this);
32738 consume();
32739 }
32740 }
32741 break;
32742 case ONLINE:
32743 case OFFLINE:
32744 case EMERGENCY:
32745 enterOuterAlt(_localctx, 9);
32746 {
32747 setState(4602);
32748 _la = _input.LA(1);
32749 if ( !(_la==ONLINE || _la==OFFLINE || _la==EMERGENCY) ) {
32750 _errHandler.recoverInline(this);
32751 }
32752 else {
32753 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32754 _errHandler.reportMatch(this);
32755 consume();
32756 }
32757 }
32758 break;
32759 case READ_ONLY:
32760 case READ_WRITE:
32761 enterOuterAlt(_localctx, 10);
32762 {
32763 setState(4603);
32764 _la = _input.LA(1);
32765 if ( !(_la==READ_ONLY || _la==READ_WRITE) ) {
32766 _errHandler.recoverInline(this);
32767 }
32768 else {
32769 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32770 _errHandler.reportMatch(this);
32771 consume();
32772 }
32773 }
32774 break;
32775 case MULTI_USER:
32776 case RESTRICTED_USER:
32777 case SINGLE_USER:
32778 enterOuterAlt(_localctx, 11);
32779 {
32780 setState(4604);
32781 _la = _input.LA(1);
32782 if ( !(((((_la - 638)) & ~0x3f) == 0 && ((1L << (_la - 638)) & ((1L << (MULTI_USER - 638)) | (1L << (RESTRICTED_USER - 638)) | (1L << (SINGLE_USER - 638)))) != 0)) ) {
32783 _errHandler.recoverInline(this);
32784 }
32785 else {
32786 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32787 _errHandler.reportMatch(this);
32788 consume();
32789 }
32790 }
32791 break;
32792 case DELAYED_DURABILITY:
32793 enterOuterAlt(_localctx, 12);
32794 {
32795 setState(4605);
32796 match(DELAYED_DURABILITY);
32797 setState(4606);
32798 match(EQ_);
32799 setState(4607);
32800 _la = _input.LA(1);
32801 if ( !(_la==FORCED || _la==DISABLED || _la==ALLOWED) ) {
32802 _errHandler.recoverInline(this);
32803 }
32804 else {
32805 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32806 _errHandler.reportMatch(this);
32807 consume();
32808 }
32809 }
32810 break;
32811 case DB_CHAINING:
32812 case TRUSTWORTHY:
32813 case DEFAULT_FULLTEXT_LANGUAGE:
32814 case DEFAULT_LANGUAGE:
32815 case NESTED_TRIGGERS:
32816 case TRANSFORM_NOISE_WORDS:
32817 case TWO_DIGIT_YEAR_CUTOFF:
32818 enterOuterAlt(_localctx, 13);
32819 {
32820 setState(4608);
32821 externalAccessOption();
32822 }
32823 break;
32824 case FILESTREAM:
32825 enterOuterAlt(_localctx, 14);
32826 {
32827 setState(4609);
32828 match(FILESTREAM);
32829 setState(4610);
32830 match(LP_);
32831 setState(4611);
32832 fileStreamOption();
32833 setState(4612);
32834 match(RP_);
32835 }
32836 break;
32837 case ALTER:
32838 enterOuterAlt(_localctx, 15);
32839 {
32840 setState(4614);
32841 match(ALTER);
32842 setState(4615);
32843 match(DATABASE);
32844 setState(4616);
32845 match(SET);
32846 setState(4617);
32847 match(HADR);
32848 }
32849 break;
32850 case MIXED_PAGE_ALLOCATION:
32851 enterOuterAlt(_localctx, 16);
32852 {
32853 setState(4618);
32854 match(MIXED_PAGE_ALLOCATION);
32855 setState(4619);
32856 _la = _input.LA(1);
32857 if ( !(_la==ON || _la==OFF) ) {
32858 _errHandler.recoverInline(this);
32859 }
32860 else {
32861 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32862 _errHandler.reportMatch(this);
32863 consume();
32864 }
32865 }
32866 break;
32867 case PARAMETERIZATION:
32868 enterOuterAlt(_localctx, 17);
32869 {
32870 setState(4620);
32871 match(PARAMETERIZATION);
32872 setState(4621);
32873 _la = _input.LA(1);
32874 if ( !(_la==SIMPLE || _la==FORCED) ) {
32875 _errHandler.recoverInline(this);
32876 }
32877 else {
32878 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32879 _errHandler.reportMatch(this);
32880 consume();
32881 }
32882 }
32883 break;
32884 case QUERY_STORE:
32885 enterOuterAlt(_localctx, 18);
32886 {
32887 setState(4622);
32888 queryStoreOptions();
32889 }
32890 break;
32891 case PAGE_VERIFY:
32892 case TORN_PAGE_DETECTION:
32893 case RECOVERY:
32894 enterOuterAlt(_localctx, 19);
32895 {
32896 setState(4623);
32897 recoveryOption();
32898 }
32899 break;
32900 case HONOR_BROKER_PRIORITY:
32901 case ERROR_BROKER_CONVERSATIONS:
32902 case NEW_BROKER:
32903 case DISABLE_BROKER:
32904 case ENABLE_BROKER:
32905 enterOuterAlt(_localctx, 20);
32906 {
32907 setState(4624);
32908 serviceBrokerOption();
32909 }
32910 break;
32911 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
32912 case READ_COMMITTED_SNAPSHOT:
32913 case ALLOW_SNAPSHOT_ISOLATION:
32914 enterOuterAlt(_localctx, 21);
32915 {
32916 setState(4625);
32917 snapshotOption();
32918 }
32919 break;
32920 case RECURSIVE_TRIGGERS:
32921 case QUOTED_IDENTIFIER:
32922 case NUMERIC_ROUNDABORT:
32923 case CONCAT_NULL_YIELDS_NULL:
32924 case COMPATIBILITY_LEVEL:
32925 case ARITHABORT:
32926 case ANSI_WARNINGS:
32927 case ANSI_PADDING:
32928 case ANSI_NULLS:
32929 case ANSI_NULL_DEFAULT:
32930 enterOuterAlt(_localctx, 22);
32931 {
32932 setState(4626);
32933 sqlOption();
32934 }
32935 break;
32936 case TARGET_RECOVERY_TIME:
32937 enterOuterAlt(_localctx, 23);
32938 {
32939 setState(4627);
32940 targetRecoveryTimeOption();
32941 }
32942 break;
32943 case ROLLBACK:
32944 case NO_WAIT:
32945 enterOuterAlt(_localctx, 24);
32946 {
32947 setState(4628);
32948 termination();
32949 }
32950 break;
32951 case TEMPORAL_HISTORY_RETENTION:
32952 enterOuterAlt(_localctx, 25);
32953 {
32954 setState(4629);
32955 match(TEMPORAL_HISTORY_RETENTION);
32956 setState(4630);
32957 _la = _input.LA(1);
32958 if ( !(_la==ON || _la==OFF) ) {
32959 _errHandler.recoverInline(this);
32960 }
32961 else {
32962 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32963 _errHandler.reportMatch(this);
32964 consume();
32965 }
32966 }
32967 break;
32968 case DATA_RETENTION:
32969 enterOuterAlt(_localctx, 26);
32970 {
32971 setState(4631);
32972 match(DATA_RETENTION);
32973 setState(4632);
32974 _la = _input.LA(1);
32975 if ( !(_la==ON || _la==OFF) ) {
32976 _errHandler.recoverInline(this);
32977 }
32978 else {
32979 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32980 _errHandler.reportMatch(this);
32981 consume();
32982 }
32983 }
32984 break;
32985 default:
32986 throw new NoViableAltException(this);
32987 }
32988 }
32989 catch (RecognitionException re) {
32990 _localctx.exception = re;
32991 _errHandler.reportError(this, re);
32992 _errHandler.recover(this, re);
32993 }
32994 finally {
32995 exitRule();
32996 }
32997 return _localctx;
32998 }
32999
33000 public static class FileAndFilegroupOptionsContext extends ParserRuleContext {
33001 public AddOrModifyFilesContext addOrModifyFiles() {
33002 return getRuleContext(AddOrModifyFilesContext.class,0);
33003 }
33004 public FileSpecContext fileSpec() {
33005 return getRuleContext(FileSpecContext.class,0);
33006 }
33007 public AddOrModifyFilegroupsContext addOrModifyFilegroups() {
33008 return getRuleContext(AddOrModifyFilegroupsContext.class,0);
33009 }
33010 public FilegroupUpdatabilityOptionContext filegroupUpdatabilityOption() {
33011 return getRuleContext(FilegroupUpdatabilityOptionContext.class,0);
33012 }
33013 public FileAndFilegroupOptionsContext(ParserRuleContext parent, int invokingState) {
33014 super(parent, invokingState);
33015 }
33016 @Override public int getRuleIndex() { return RULE_fileAndFilegroupOptions; }
33017 @Override
33018 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33019 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileAndFilegroupOptions(this);
33020 else return visitor.visitChildren(this);
33021 }
33022 }
33023
33024 public final FileAndFilegroupOptionsContext fileAndFilegroupOptions() throws RecognitionException {
33025 FileAndFilegroupOptionsContext _localctx = new FileAndFilegroupOptionsContext(_ctx, getState());
33026 enterRule(_localctx, 638, RULE_fileAndFilegroupOptions);
33027 try {
33028 setState(4639);
33029 _errHandler.sync(this);
33030 switch ( getInterpreter().adaptivePredict(_input,498,_ctx) ) {
33031 case 1:
33032 enterOuterAlt(_localctx, 1);
33033 {
33034 setState(4635);
33035 addOrModifyFiles();
33036 }
33037 break;
33038 case 2:
33039 enterOuterAlt(_localctx, 2);
33040 {
33041 setState(4636);
33042 fileSpec();
33043 }
33044 break;
33045 case 3:
33046 enterOuterAlt(_localctx, 3);
33047 {
33048 setState(4637);
33049 addOrModifyFilegroups();
33050 }
33051 break;
33052 case 4:
33053 enterOuterAlt(_localctx, 4);
33054 {
33055 setState(4638);
33056 filegroupUpdatabilityOption();
33057 }
33058 break;
33059 }
33060 }
33061 catch (RecognitionException re) {
33062 _localctx.exception = re;
33063 _errHandler.reportError(this, re);
33064 _errHandler.recover(this, re);
33065 }
33066 finally {
33067 exitRule();
33068 }
33069 return _localctx;
33070 }
33071
33072 public static class AddOrModifyFilegroupsContext extends ParserRuleContext {
33073 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
33074 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
33075 public IgnoredIdentifierContext ignoredIdentifier() {
33076 return getRuleContext(IgnoredIdentifierContext.class,0);
33077 }
33078 public TerminalNode CONTAINS() { return getToken(SQLServerStatementParser.CONTAINS, 0); }
33079 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
33080 public TerminalNode MEMORY_OPTIMIZED_DATA() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_DATA, 0); }
33081 public TerminalNode REMOVE() { return getToken(SQLServerStatementParser.REMOVE, 0); }
33082 public TerminalNode MODIFY() { return getToken(SQLServerStatementParser.MODIFY, 0); }
33083 public FilegroupUpdatabilityOptionContext filegroupUpdatabilityOption() {
33084 return getRuleContext(FilegroupUpdatabilityOptionContext.class,0);
33085 }
33086 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
33087 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
33088 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33089 public TerminalNode AUTOGROW_SINGLE_FILE() { return getToken(SQLServerStatementParser.AUTOGROW_SINGLE_FILE, 0); }
33090 public TerminalNode AUTOGROW_ALL_FILES() { return getToken(SQLServerStatementParser.AUTOGROW_ALL_FILES, 0); }
33091 public AddOrModifyFilegroupsContext(ParserRuleContext parent, int invokingState) {
33092 super(parent, invokingState);
33093 }
33094 @Override public int getRuleIndex() { return RULE_addOrModifyFilegroups; }
33095 @Override
33096 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33097 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddOrModifyFilegroups(this);
33098 else return visitor.visitChildren(this);
33099 }
33100 }
33101
33102 public final AddOrModifyFilegroupsContext addOrModifyFilegroups() throws RecognitionException {
33103 AddOrModifyFilegroupsContext _localctx = new AddOrModifyFilegroupsContext(_ctx, getState());
33104 enterRule(_localctx, 640, RULE_addOrModifyFilegroups);
33105 int _la;
33106 try {
33107 setState(4663);
33108 _errHandler.sync(this);
33109 switch (_input.LA(1)) {
33110 case ADD:
33111 enterOuterAlt(_localctx, 1);
33112 {
33113 setState(4641);
33114 match(ADD);
33115 setState(4642);
33116 match(FILEGROUP);
33117 setState(4643);
33118 ignoredIdentifier();
33119 setState(4648);
33120 _errHandler.sync(this);
33121 switch ( getInterpreter().adaptivePredict(_input,499,_ctx) ) {
33122 case 1:
33123 {
33124 setState(4644);
33125 match(CONTAINS);
33126 setState(4645);
33127 match(FILESTREAM);
33128 }
33129 break;
33130 case 2:
33131 {
33132 setState(4646);
33133 match(CONTAINS);
33134 setState(4647);
33135 match(MEMORY_OPTIMIZED_DATA);
33136 }
33137 break;
33138 }
33139 }
33140 break;
33141 case REMOVE:
33142 enterOuterAlt(_localctx, 2);
33143 {
33144 setState(4650);
33145 match(REMOVE);
33146 setState(4651);
33147 match(FILEGROUP);
33148 setState(4652);
33149 ignoredIdentifier();
33150 }
33151 break;
33152 case MODIFY:
33153 enterOuterAlt(_localctx, 3);
33154 {
33155 setState(4653);
33156 match(MODIFY);
33157 setState(4654);
33158 match(FILEGROUP);
33159 setState(4655);
33160 ignoredIdentifier();
33161 setState(4656);
33162 filegroupUpdatabilityOption();
33163 }
33164 break;
33165 case DEFAULT:
33166 enterOuterAlt(_localctx, 4);
33167 {
33168 setState(4658);
33169 match(DEFAULT);
33170 }
33171 break;
33172 case NAME:
33173 enterOuterAlt(_localctx, 5);
33174 {
33175 setState(4659);
33176 match(NAME);
33177 setState(4660);
33178 match(EQ_);
33179 setState(4661);
33180 ignoredIdentifier();
33181 }
33182 break;
33183 case AUTOGROW_SINGLE_FILE:
33184 case AUTOGROW_ALL_FILES:
33185 enterOuterAlt(_localctx, 6);
33186 {
33187 setState(4662);
33188 _la = _input.LA(1);
33189 if ( !(_la==AUTOGROW_SINGLE_FILE || _la==AUTOGROW_ALL_FILES) ) {
33190 _errHandler.recoverInline(this);
33191 }
33192 else {
33193 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33194 _errHandler.reportMatch(this);
33195 consume();
33196 }
33197 }
33198 break;
33199 default:
33200 throw new NoViableAltException(this);
33201 }
33202 }
33203 catch (RecognitionException re) {
33204 _localctx.exception = re;
33205 _errHandler.reportError(this, re);
33206 _errHandler.recover(this, re);
33207 }
33208 finally {
33209 exitRule();
33210 }
33211 return _localctx;
33212 }
33213
33214 public static class FilegroupUpdatabilityOptionContext extends ParserRuleContext {
33215 public TerminalNode READONLY() { return getToken(SQLServerStatementParser.READONLY, 0); }
33216 public TerminalNode READWRITE() { return getToken(SQLServerStatementParser.READWRITE, 0); }
33217 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
33218 public TerminalNode READ_WRITE() { return getToken(SQLServerStatementParser.READ_WRITE, 0); }
33219 public FilegroupUpdatabilityOptionContext(ParserRuleContext parent, int invokingState) {
33220 super(parent, invokingState);
33221 }
33222 @Override public int getRuleIndex() { return RULE_filegroupUpdatabilityOption; }
33223 @Override
33224 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33225 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFilegroupUpdatabilityOption(this);
33226 else return visitor.visitChildren(this);
33227 }
33228 }
33229
33230 public final FilegroupUpdatabilityOptionContext filegroupUpdatabilityOption() throws RecognitionException {
33231 FilegroupUpdatabilityOptionContext _localctx = new FilegroupUpdatabilityOptionContext(_ctx, getState());
33232 enterRule(_localctx, 642, RULE_filegroupUpdatabilityOption);
33233 int _la;
33234 try {
33235 setState(4667);
33236 _errHandler.sync(this);
33237 switch (_input.LA(1)) {
33238 case READONLY:
33239 case READWRITE:
33240 enterOuterAlt(_localctx, 1);
33241 {
33242 setState(4665);
33243 _la = _input.LA(1);
33244 if ( !(_la==READONLY || _la==READWRITE) ) {
33245 _errHandler.recoverInline(this);
33246 }
33247 else {
33248 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33249 _errHandler.reportMatch(this);
33250 consume();
33251 }
33252 }
33253 break;
33254 case READ_ONLY:
33255 case READ_WRITE:
33256 enterOuterAlt(_localctx, 2);
33257 {
33258 setState(4666);
33259 _la = _input.LA(1);
33260 if ( !(_la==READ_ONLY || _la==READ_WRITE) ) {
33261 _errHandler.recoverInline(this);
33262 }
33263 else {
33264 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33265 _errHandler.reportMatch(this);
33266 consume();
33267 }
33268 }
33269 break;
33270 default:
33271 throw new NoViableAltException(this);
33272 }
33273 }
33274 catch (RecognitionException re) {
33275 _localctx.exception = re;
33276 _errHandler.reportError(this, re);
33277 _errHandler.recover(this, re);
33278 }
33279 finally {
33280 exitRule();
33281 }
33282 return _localctx;
33283 }
33284
33285 public static class AddOrModifyFilesContext extends ParserRuleContext {
33286 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
33287 public TerminalNode FILE() { return getToken(SQLServerStatementParser.FILE, 0); }
33288 public List<FileSpecContext> fileSpec() {
33289 return getRuleContexts(FileSpecContext.class);
33290 }
33291 public FileSpecContext fileSpec(int i) {
33292 return getRuleContext(FileSpecContext.class,i);
33293 }
33294 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
33295 public TerminalNode COMMA_(int i) {
33296 return getToken(SQLServerStatementParser.COMMA_, i);
33297 }
33298 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
33299 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
33300 public IgnoredIdentifierContext ignoredIdentifier() {
33301 return getRuleContext(IgnoredIdentifierContext.class,0);
33302 }
33303 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
33304 public TerminalNode REMOVE() { return getToken(SQLServerStatementParser.REMOVE, 0); }
33305 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
33306 public TerminalNode MODIFY() { return getToken(SQLServerStatementParser.MODIFY, 0); }
33307 public AddOrModifyFilesContext(ParserRuleContext parent, int invokingState) {
33308 super(parent, invokingState);
33309 }
33310 @Override public int getRuleIndex() { return RULE_addOrModifyFiles; }
33311 @Override
33312 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33313 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddOrModifyFiles(this);
33314 else return visitor.visitChildren(this);
33315 }
33316 }
33317
33318 public final AddOrModifyFilesContext addOrModifyFiles() throws RecognitionException {
33319 AddOrModifyFilesContext _localctx = new AddOrModifyFilesContext(_ctx, getState());
33320 enterRule(_localctx, 644, RULE_addOrModifyFiles);
33321 int _la;
33322 try {
33323 setState(4701);
33324 _errHandler.sync(this);
33325 switch ( getInterpreter().adaptivePredict(_input,505,_ctx) ) {
33326 case 1:
33327 enterOuterAlt(_localctx, 1);
33328 {
33329 setState(4669);
33330 match(ADD);
33331 setState(4670);
33332 match(FILE);
33333 setState(4671);
33334 fileSpec();
33335 setState(4676);
33336 _errHandler.sync(this);
33337 _la = _input.LA(1);
33338 while (_la==COMMA_) {
33339 {
33340 {
33341 setState(4672);
33342 match(COMMA_);
33343 setState(4673);
33344 fileSpec();
33345 }
33346 }
33347 setState(4678);
33348 _errHandler.sync(this);
33349 _la = _input.LA(1);
33350 }
33351 setState(4682);
33352 _errHandler.sync(this);
33353 _la = _input.LA(1);
33354 if (_la==TO) {
33355 {
33356 setState(4679);
33357 match(TO);
33358 setState(4680);
33359 match(FILEGROUP);
33360 setState(4681);
33361 ignoredIdentifier();
33362 }
33363 }
33364
33365 }
33366 break;
33367 case 2:
33368 enterOuterAlt(_localctx, 2);
33369 {
33370 setState(4684);
33371 match(ADD);
33372 setState(4685);
33373 match(LOG);
33374 setState(4686);
33375 match(FILE);
33376 setState(4687);
33377 fileSpec();
33378 setState(4692);
33379 _errHandler.sync(this);
33380 _la = _input.LA(1);
33381 while (_la==COMMA_) {
33382 {
33383 {
33384 setState(4688);
33385 match(COMMA_);
33386 setState(4689);
33387 fileSpec();
33388 }
33389 }
33390 setState(4694);
33391 _errHandler.sync(this);
33392 _la = _input.LA(1);
33393 }
33394 }
33395 break;
33396 case 3:
33397 enterOuterAlt(_localctx, 3);
33398 {
33399 setState(4695);
33400 match(REMOVE);
33401 setState(4696);
33402 match(FILE);
33403 setState(4697);
33404 match(STRING_);
33405 }
33406 break;
33407 case 4:
33408 enterOuterAlt(_localctx, 4);
33409 {
33410 setState(4698);
33411 match(MODIFY);
33412 setState(4699);
33413 match(FILE);
33414 setState(4700);
33415 fileSpec();
33416 }
33417 break;
33418 }
33419 }
33420 catch (RecognitionException re) {
33421 _localctx.exception = re;
33422 _errHandler.reportError(this, re);
33423 _errHandler.recover(this, re);
33424 }
33425 finally {
33426 exitRule();
33427 }
33428 return _localctx;
33429 }
33430
33431 public static class AcceleratedDatabaseRecoveryContext extends ParserRuleContext {
33432 public TerminalNode ACCELERATED_DATABASE_RECOVERY() { return getToken(SQLServerStatementParser.ACCELERATED_DATABASE_RECOVERY, 0); }
33433 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
33434 public TerminalNode EQ_(int i) {
33435 return getToken(SQLServerStatementParser.EQ_, i);
33436 }
33437 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33438 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33439 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
33440 public TerminalNode PERSISTENT_VERSION_STORE_FILEGROUP() { return getToken(SQLServerStatementParser.PERSISTENT_VERSION_STORE_FILEGROUP, 0); }
33441 public IgnoredIdentifierContext ignoredIdentifier() {
33442 return getRuleContext(IgnoredIdentifierContext.class,0);
33443 }
33444 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
33445 public AcceleratedDatabaseRecoveryContext(ParserRuleContext parent, int invokingState) {
33446 super(parent, invokingState);
33447 }
33448 @Override public int getRuleIndex() { return RULE_acceleratedDatabaseRecovery; }
33449 @Override
33450 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33451 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAcceleratedDatabaseRecovery(this);
33452 else return visitor.visitChildren(this);
33453 }
33454 }
33455
33456 public final AcceleratedDatabaseRecoveryContext acceleratedDatabaseRecovery() throws RecognitionException {
33457 AcceleratedDatabaseRecoveryContext _localctx = new AcceleratedDatabaseRecoveryContext(_ctx, getState());
33458 enterRule(_localctx, 646, RULE_acceleratedDatabaseRecovery);
33459 int _la;
33460 try {
33461 enterOuterAlt(_localctx, 1);
33462 {
33463 setState(4703);
33464 match(ACCELERATED_DATABASE_RECOVERY);
33465 setState(4704);
33466 match(EQ_);
33467 setState(4705);
33468 _la = _input.LA(1);
33469 if ( !(_la==ON || _la==OFF) ) {
33470 _errHandler.recoverInline(this);
33471 }
33472 else {
33473 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33474 _errHandler.reportMatch(this);
33475 consume();
33476 }
33477 setState(4712);
33478 _errHandler.sync(this);
33479 switch ( getInterpreter().adaptivePredict(_input,506,_ctx) ) {
33480 case 1:
33481 {
33482 setState(4706);
33483 match(LP_);
33484 setState(4707);
33485 match(PERSISTENT_VERSION_STORE_FILEGROUP);
33486 setState(4708);
33487 match(EQ_);
33488 setState(4709);
33489 ignoredIdentifier();
33490 setState(4710);
33491 match(RP_);
33492 }
33493 break;
33494 }
33495 }
33496 }
33497 catch (RecognitionException re) {
33498 _localctx.exception = re;
33499 _errHandler.reportError(this, re);
33500 _errHandler.recover(this, re);
33501 }
33502 finally {
33503 exitRule();
33504 }
33505 return _localctx;
33506 }
33507
33508 public static class AutoOptionContext extends ParserRuleContext {
33509 public TerminalNode AUTO_CLOSE() { return getToken(SQLServerStatementParser.AUTO_CLOSE, 0); }
33510 public List<TerminalNode> ON() { return getTokens(SQLServerStatementParser.ON); }
33511 public TerminalNode ON(int i) {
33512 return getToken(SQLServerStatementParser.ON, i);
33513 }
33514 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33515 public TerminalNode AUTO_CREATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_CREATE_STATISTICS, 0); }
33516 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
33517 public TerminalNode INCREMENTAL() { return getToken(SQLServerStatementParser.INCREMENTAL, 0); }
33518 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33519 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
33520 public TerminalNode AUTO_SHRINK() { return getToken(SQLServerStatementParser.AUTO_SHRINK, 0); }
33521 public TerminalNode AUTO_UPDATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS, 0); }
33522 public TerminalNode AUTO_UPDATE_STATISTICS_ASYNC() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS_ASYNC, 0); }
33523 public AutoOptionContext(ParserRuleContext parent, int invokingState) {
33524 super(parent, invokingState);
33525 }
33526 @Override public int getRuleIndex() { return RULE_autoOption; }
33527 @Override
33528 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33529 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAutoOption(this);
33530 else return visitor.visitChildren(this);
33531 }
33532 }
33533
33534 public final AutoOptionContext autoOption() throws RecognitionException {
33535 AutoOptionContext _localctx = new AutoOptionContext(_ctx, getState());
33536 enterRule(_localctx, 648, RULE_autoOption);
33537 int _la;
33538 try {
33539 setState(4734);
33540 _errHandler.sync(this);
33541 switch (_input.LA(1)) {
33542 case AUTO_CLOSE:
33543 enterOuterAlt(_localctx, 1);
33544 {
33545 setState(4714);
33546 match(AUTO_CLOSE);
33547 setState(4715);
33548 _la = _input.LA(1);
33549 if ( !(_la==ON || _la==OFF) ) {
33550 _errHandler.recoverInline(this);
33551 }
33552 else {
33553 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33554 _errHandler.reportMatch(this);
33555 consume();
33556 }
33557 }
33558 break;
33559 case AUTO_CREATE_STATISTICS:
33560 enterOuterAlt(_localctx, 2);
33561 {
33562 setState(4716);
33563 match(AUTO_CREATE_STATISTICS);
33564 setState(4726);
33565 _errHandler.sync(this);
33566 switch (_input.LA(1)) {
33567 case OFF:
33568 {
33569 setState(4717);
33570 match(OFF);
33571 }
33572 break;
33573 case ON:
33574 {
33575 setState(4718);
33576 match(ON);
33577 setState(4724);
33578 _errHandler.sync(this);
33579 switch ( getInterpreter().adaptivePredict(_input,507,_ctx) ) {
33580 case 1:
33581 {
33582 setState(4719);
33583 match(LP_);
33584 setState(4720);
33585 match(INCREMENTAL);
33586 setState(4721);
33587 match(EQ_);
33588 setState(4722);
33589 _la = _input.LA(1);
33590 if ( !(_la==ON || _la==OFF) ) {
33591 _errHandler.recoverInline(this);
33592 }
33593 else {
33594 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33595 _errHandler.reportMatch(this);
33596 consume();
33597 }
33598 setState(4723);
33599 match(RP_);
33600 }
33601 break;
33602 }
33603 }
33604 break;
33605 default:
33606 throw new NoViableAltException(this);
33607 }
33608 }
33609 break;
33610 case AUTO_SHRINK:
33611 enterOuterAlt(_localctx, 3);
33612 {
33613 setState(4728);
33614 match(AUTO_SHRINK);
33615 setState(4729);
33616 _la = _input.LA(1);
33617 if ( !(_la==ON || _la==OFF) ) {
33618 _errHandler.recoverInline(this);
33619 }
33620 else {
33621 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33622 _errHandler.reportMatch(this);
33623 consume();
33624 }
33625 }
33626 break;
33627 case AUTO_UPDATE_STATISTICS:
33628 enterOuterAlt(_localctx, 4);
33629 {
33630 setState(4730);
33631 match(AUTO_UPDATE_STATISTICS);
33632 setState(4731);
33633 _la = _input.LA(1);
33634 if ( !(_la==ON || _la==OFF) ) {
33635 _errHandler.recoverInline(this);
33636 }
33637 else {
33638 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33639 _errHandler.reportMatch(this);
33640 consume();
33641 }
33642 }
33643 break;
33644 case AUTO_UPDATE_STATISTICS_ASYNC:
33645 enterOuterAlt(_localctx, 5);
33646 {
33647 setState(4732);
33648 match(AUTO_UPDATE_STATISTICS_ASYNC);
33649 setState(4733);
33650 _la = _input.LA(1);
33651 if ( !(_la==ON || _la==OFF) ) {
33652 _errHandler.recoverInline(this);
33653 }
33654 else {
33655 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33656 _errHandler.reportMatch(this);
33657 consume();
33658 }
33659 }
33660 break;
33661 default:
33662 throw new NoViableAltException(this);
33663 }
33664 }
33665 catch (RecognitionException re) {
33666 _localctx.exception = re;
33667 _errHandler.reportError(this, re);
33668 _errHandler.recover(this, re);
33669 }
33670 finally {
33671 exitRule();
33672 }
33673 return _localctx;
33674 }
33675
33676 public static class AutomaticTuningOptionContext extends ParserRuleContext {
33677 public TerminalNode AUTOMATIC_TUNING() { return getToken(SQLServerStatementParser.AUTOMATIC_TUNING, 0); }
33678 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
33679 public TerminalNode FORCE_LAST_GOOD_PLAN() { return getToken(SQLServerStatementParser.FORCE_LAST_GOOD_PLAN, 0); }
33680 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33681 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
33682 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33683 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33684 public AutomaticTuningOptionContext(ParserRuleContext parent, int invokingState) {
33685 super(parent, invokingState);
33686 }
33687 @Override public int getRuleIndex() { return RULE_automaticTuningOption; }
33688 @Override
33689 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33690 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAutomaticTuningOption(this);
33691 else return visitor.visitChildren(this);
33692 }
33693 }
33694
33695 public final AutomaticTuningOptionContext automaticTuningOption() throws RecognitionException {
33696 AutomaticTuningOptionContext _localctx = new AutomaticTuningOptionContext(_ctx, getState());
33697 enterRule(_localctx, 650, RULE_automaticTuningOption);
33698 int _la;
33699 try {
33700 enterOuterAlt(_localctx, 1);
33701 {
33702 setState(4736);
33703 match(AUTOMATIC_TUNING);
33704 setState(4737);
33705 match(LP_);
33706 setState(4738);
33707 match(FORCE_LAST_GOOD_PLAN);
33708 setState(4739);
33709 match(EQ_);
33710 setState(4740);
33711 _la = _input.LA(1);
33712 if ( !(_la==ON || _la==OFF) ) {
33713 _errHandler.recoverInline(this);
33714 }
33715 else {
33716 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33717 _errHandler.reportMatch(this);
33718 consume();
33719 }
33720 setState(4741);
33721 match(RP_);
33722 }
33723 }
33724 catch (RecognitionException re) {
33725 _localctx.exception = re;
33726 _errHandler.reportError(this, re);
33727 _errHandler.recover(this, re);
33728 }
33729 finally {
33730 exitRule();
33731 }
33732 return _localctx;
33733 }
33734
33735 public static class ChangeTrackingOptionContext extends ParserRuleContext {
33736 public TerminalNode CHANGE_TRACKING() { return getToken(SQLServerStatementParser.CHANGE_TRACKING, 0); }
33737 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33738 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33739 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33740 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
33741 public List<ChangeTrackingOptionListContext> changeTrackingOptionList() {
33742 return getRuleContexts(ChangeTrackingOptionListContext.class);
33743 }
33744 public ChangeTrackingOptionListContext changeTrackingOptionList(int i) {
33745 return getRuleContext(ChangeTrackingOptionListContext.class,i);
33746 }
33747 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
33748 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
33749 public TerminalNode COMMA_(int i) {
33750 return getToken(SQLServerStatementParser.COMMA_, i);
33751 }
33752 public ChangeTrackingOptionContext(ParserRuleContext parent, int invokingState) {
33753 super(parent, invokingState);
33754 }
33755 @Override public int getRuleIndex() { return RULE_changeTrackingOption; }
33756 @Override
33757 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33758 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitChangeTrackingOption(this);
33759 else return visitor.visitChildren(this);
33760 }
33761 }
33762
33763 public final ChangeTrackingOptionContext changeTrackingOption() throws RecognitionException {
33764 ChangeTrackingOptionContext _localctx = new ChangeTrackingOptionContext(_ctx, getState());
33765 enterRule(_localctx, 652, RULE_changeTrackingOption);
33766 int _la;
33767 try {
33768 enterOuterAlt(_localctx, 1);
33769 {
33770 setState(4743);
33771 match(CHANGE_TRACKING);
33772 setState(4763);
33773 _errHandler.sync(this);
33774 switch ( getInterpreter().adaptivePredict(_input,513,_ctx) ) {
33775 case 1:
33776 {
33777 setState(4744);
33778 match(EQ_);
33779 setState(4745);
33780 match(OFF);
33781 }
33782 break;
33783 case 2:
33784 {
33785 setState(4748);
33786 _errHandler.sync(this);
33787 _la = _input.LA(1);
33788 if (_la==EQ_) {
33789 {
33790 setState(4746);
33791 match(EQ_);
33792 setState(4747);
33793 match(ON);
33794 }
33795 }
33796
33797 setState(4761);
33798 _errHandler.sync(this);
33799 switch ( getInterpreter().adaptivePredict(_input,512,_ctx) ) {
33800 case 1:
33801 {
33802 setState(4750);
33803 match(LP_);
33804 setState(4751);
33805 changeTrackingOptionList();
33806 setState(4756);
33807 _errHandler.sync(this);
33808 _la = _input.LA(1);
33809 while (_la==COMMA_) {
33810 {
33811 {
33812 setState(4752);
33813 match(COMMA_);
33814 setState(4753);
33815 changeTrackingOptionList();
33816 }
33817 }
33818 setState(4758);
33819 _errHandler.sync(this);
33820 _la = _input.LA(1);
33821 }
33822 setState(4759);
33823 match(RP_);
33824 }
33825 break;
33826 }
33827 }
33828 break;
33829 }
33830 }
33831 }
33832 catch (RecognitionException re) {
33833 _localctx.exception = re;
33834 _errHandler.reportError(this, re);
33835 _errHandler.recover(this, re);
33836 }
33837 finally {
33838 exitRule();
33839 }
33840 return _localctx;
33841 }
33842
33843 public static class ChangeTrackingOptionListContext extends ParserRuleContext {
33844 public TerminalNode AUTO_CLEANUP() { return getToken(SQLServerStatementParser.AUTO_CLEANUP, 0); }
33845 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33846 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33847 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33848 public TerminalNode CHANGE_RETENTION() { return getToken(SQLServerStatementParser.CHANGE_RETENTION, 0); }
33849 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
33850 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
33851 public TerminalNode HOURS() { return getToken(SQLServerStatementParser.HOURS, 0); }
33852 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
33853 public ChangeTrackingOptionListContext(ParserRuleContext parent, int invokingState) {
33854 super(parent, invokingState);
33855 }
33856 @Override public int getRuleIndex() { return RULE_changeTrackingOptionList; }
33857 @Override
33858 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33859 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitChangeTrackingOptionList(this);
33860 else return visitor.visitChildren(this);
33861 }
33862 }
33863
33864 public final ChangeTrackingOptionListContext changeTrackingOptionList() throws RecognitionException {
33865 ChangeTrackingOptionListContext _localctx = new ChangeTrackingOptionListContext(_ctx, getState());
33866 enterRule(_localctx, 654, RULE_changeTrackingOptionList);
33867 int _la;
33868 try {
33869 setState(4772);
33870 _errHandler.sync(this);
33871 switch (_input.LA(1)) {
33872 case AUTO_CLEANUP:
33873 enterOuterAlt(_localctx, 1);
33874 {
33875 setState(4765);
33876 match(AUTO_CLEANUP);
33877 setState(4766);
33878 match(EQ_);
33879 setState(4767);
33880 _la = _input.LA(1);
33881 if ( !(_la==ON || _la==OFF) ) {
33882 _errHandler.recoverInline(this);
33883 }
33884 else {
33885 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33886 _errHandler.reportMatch(this);
33887 consume();
33888 }
33889 }
33890 break;
33891 case CHANGE_RETENTION:
33892 enterOuterAlt(_localctx, 2);
33893 {
33894 setState(4768);
33895 match(CHANGE_RETENTION);
33896 setState(4769);
33897 match(EQ_);
33898 setState(4770);
33899 match(NUMBER_);
33900 setState(4771);
33901 _la = _input.LA(1);
33902 if ( !(_la==DAYS || _la==MINUTES || _la==HOURS) ) {
33903 _errHandler.recoverInline(this);
33904 }
33905 else {
33906 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33907 _errHandler.reportMatch(this);
33908 consume();
33909 }
33910 }
33911 break;
33912 default:
33913 throw new NoViableAltException(this);
33914 }
33915 }
33916 catch (RecognitionException re) {
33917 _localctx.exception = re;
33918 _errHandler.reportError(this, re);
33919 _errHandler.recover(this, re);
33920 }
33921 finally {
33922 exitRule();
33923 }
33924 return _localctx;
33925 }
33926
33927 public static class CursorOptionContext extends ParserRuleContext {
33928 public TerminalNode CURSOR_CLOSE_ON_COMMIT() { return getToken(SQLServerStatementParser.CURSOR_CLOSE_ON_COMMIT, 0); }
33929 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33930 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33931 public TerminalNode CURSOR_DEFAULT() { return getToken(SQLServerStatementParser.CURSOR_DEFAULT, 0); }
33932 public TerminalNode LOCAL() { return getToken(SQLServerStatementParser.LOCAL, 0); }
33933 public TerminalNode GLOBAL() { return getToken(SQLServerStatementParser.GLOBAL, 0); }
33934 public CursorOptionContext(ParserRuleContext parent, int invokingState) {
33935 super(parent, invokingState);
33936 }
33937 @Override public int getRuleIndex() { return RULE_cursorOption; }
33938 @Override
33939 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33940 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCursorOption(this);
33941 else return visitor.visitChildren(this);
33942 }
33943 }
33944
33945 public final CursorOptionContext cursorOption() throws RecognitionException {
33946 CursorOptionContext _localctx = new CursorOptionContext(_ctx, getState());
33947 enterRule(_localctx, 656, RULE_cursorOption);
33948 int _la;
33949 try {
33950 setState(4778);
33951 _errHandler.sync(this);
33952 switch (_input.LA(1)) {
33953 case CURSOR_CLOSE_ON_COMMIT:
33954 enterOuterAlt(_localctx, 1);
33955 {
33956 setState(4774);
33957 match(CURSOR_CLOSE_ON_COMMIT);
33958 setState(4775);
33959 _la = _input.LA(1);
33960 if ( !(_la==ON || _la==OFF) ) {
33961 _errHandler.recoverInline(this);
33962 }
33963 else {
33964 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33965 _errHandler.reportMatch(this);
33966 consume();
33967 }
33968 }
33969 break;
33970 case CURSOR_DEFAULT:
33971 enterOuterAlt(_localctx, 2);
33972 {
33973 setState(4776);
33974 match(CURSOR_DEFAULT);
33975 setState(4777);
33976 _la = _input.LA(1);
33977 if ( !(_la==LOCAL || _la==GLOBAL) ) {
33978 _errHandler.recoverInline(this);
33979 }
33980 else {
33981 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33982 _errHandler.reportMatch(this);
33983 consume();
33984 }
33985 }
33986 break;
33987 default:
33988 throw new NoViableAltException(this);
33989 }
33990 }
33991 catch (RecognitionException re) {
33992 _localctx.exception = re;
33993 _errHandler.reportError(this, re);
33994 _errHandler.recover(this, re);
33995 }
33996 finally {
33997 exitRule();
33998 }
33999 return _localctx;
34000 }
34001
34002 public static class ExternalAccessOptionContext extends ParserRuleContext {
34003 public TerminalNode DB_CHAINING() { return getToken(SQLServerStatementParser.DB_CHAINING, 0); }
34004 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
34005 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
34006 public TerminalNode TRUSTWORTHY() { return getToken(SQLServerStatementParser.TRUSTWORTHY, 0); }
34007 public TerminalNode DEFAULT_FULLTEXT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_FULLTEXT_LANGUAGE, 0); }
34008 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
34009 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
34010 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
34011 public TerminalNode NESTED_TRIGGERS() { return getToken(SQLServerStatementParser.NESTED_TRIGGERS, 0); }
34012 public TerminalNode TRANSFORM_NOISE_WORDS() { return getToken(SQLServerStatementParser.TRANSFORM_NOISE_WORDS, 0); }
34013 public TerminalNode TWO_DIGIT_YEAR_CUTOFF() { return getToken(SQLServerStatementParser.TWO_DIGIT_YEAR_CUTOFF, 0); }
34014 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
34015 public ExternalAccessOptionContext(ParserRuleContext parent, int invokingState) {
34016 super(parent, invokingState);
34017 }
34018 @Override public int getRuleIndex() { return RULE_externalAccessOption; }
34019 @Override
34020 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34021 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExternalAccessOption(this);
34022 else return visitor.visitChildren(this);
34023 }
34024 }
34025
34026 public final ExternalAccessOptionContext externalAccessOption() throws RecognitionException {
34027 ExternalAccessOptionContext _localctx = new ExternalAccessOptionContext(_ctx, getState());
34028 enterRule(_localctx, 658, RULE_externalAccessOption);
34029 int _la;
34030 try {
34031 setState(4799);
34032 _errHandler.sync(this);
34033 switch (_input.LA(1)) {
34034 case DB_CHAINING:
34035 enterOuterAlt(_localctx, 1);
34036 {
34037 setState(4780);
34038 match(DB_CHAINING);
34039 setState(4781);
34040 _la = _input.LA(1);
34041 if ( !(_la==ON || _la==OFF) ) {
34042 _errHandler.recoverInline(this);
34043 }
34044 else {
34045 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34046 _errHandler.reportMatch(this);
34047 consume();
34048 }
34049 }
34050 break;
34051 case TRUSTWORTHY:
34052 enterOuterAlt(_localctx, 2);
34053 {
34054 setState(4782);
34055 match(TRUSTWORTHY);
34056 setState(4783);
34057 _la = _input.LA(1);
34058 if ( !(_la==ON || _la==OFF) ) {
34059 _errHandler.recoverInline(this);
34060 }
34061 else {
34062 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34063 _errHandler.reportMatch(this);
34064 consume();
34065 }
34066 }
34067 break;
34068 case DEFAULT_FULLTEXT_LANGUAGE:
34069 enterOuterAlt(_localctx, 3);
34070 {
34071 setState(4784);
34072 match(DEFAULT_FULLTEXT_LANGUAGE);
34073 setState(4785);
34074 match(EQ_);
34075 setState(4786);
34076 match(STRING_);
34077 }
34078 break;
34079 case DEFAULT_LANGUAGE:
34080 enterOuterAlt(_localctx, 4);
34081 {
34082 setState(4787);
34083 match(DEFAULT_LANGUAGE);
34084 setState(4788);
34085 match(EQ_);
34086 setState(4789);
34087 match(STRING_);
34088 }
34089 break;
34090 case NESTED_TRIGGERS:
34091 enterOuterAlt(_localctx, 5);
34092 {
34093 setState(4790);
34094 match(NESTED_TRIGGERS);
34095 setState(4791);
34096 match(EQ_);
34097 setState(4792);
34098 _la = _input.LA(1);
34099 if ( !(_la==ON || _la==OFF) ) {
34100 _errHandler.recoverInline(this);
34101 }
34102 else {
34103 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34104 _errHandler.reportMatch(this);
34105 consume();
34106 }
34107 }
34108 break;
34109 case TRANSFORM_NOISE_WORDS:
34110 enterOuterAlt(_localctx, 6);
34111 {
34112 setState(4793);
34113 match(TRANSFORM_NOISE_WORDS);
34114 setState(4794);
34115 match(EQ_);
34116 setState(4795);
34117 _la = _input.LA(1);
34118 if ( !(_la==ON || _la==OFF) ) {
34119 _errHandler.recoverInline(this);
34120 }
34121 else {
34122 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34123 _errHandler.reportMatch(this);
34124 consume();
34125 }
34126 }
34127 break;
34128 case TWO_DIGIT_YEAR_CUTOFF:
34129 enterOuterAlt(_localctx, 7);
34130 {
34131 setState(4796);
34132 match(TWO_DIGIT_YEAR_CUTOFF);
34133 setState(4797);
34134 match(EQ_);
34135 setState(4798);
34136 match(NUMBER_);
34137 }
34138 break;
34139 default:
34140 throw new NoViableAltException(this);
34141 }
34142 }
34143 catch (RecognitionException re) {
34144 _localctx.exception = re;
34145 _errHandler.reportError(this, re);
34146 _errHandler.recover(this, re);
34147 }
34148 finally {
34149 exitRule();
34150 }
34151 return _localctx;
34152 }
34153
34154 public static class QueryStoreOptionsContext extends ParserRuleContext {
34155 public TerminalNode QUERY_STORE() { return getToken(SQLServerStatementParser.QUERY_STORE, 0); }
34156 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
34157 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
34158 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
34159 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
34160 public List<QueryStoreOptionListContext> queryStoreOptionList() {
34161 return getRuleContexts(QueryStoreOptionListContext.class);
34162 }
34163 public QueryStoreOptionListContext queryStoreOptionList(int i) {
34164 return getRuleContext(QueryStoreOptionListContext.class,i);
34165 }
34166 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
34167 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
34168 public TerminalNode COMMA_(int i) {
34169 return getToken(SQLServerStatementParser.COMMA_, i);
34170 }
34171 public QueryStoreOptionsContext(ParserRuleContext parent, int invokingState) {
34172 super(parent, invokingState);
34173 }
34174 @Override public int getRuleIndex() { return RULE_queryStoreOptions; }
34175 @Override
34176 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34177 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryStoreOptions(this);
34178 else return visitor.visitChildren(this);
34179 }
34180 }
34181
34182 public final QueryStoreOptionsContext queryStoreOptions() throws RecognitionException {
34183 QueryStoreOptionsContext _localctx = new QueryStoreOptionsContext(_ctx, getState());
34184 enterRule(_localctx, 660, RULE_queryStoreOptions);
34185 int _la;
34186 try {
34187 enterOuterAlt(_localctx, 1);
34188 {
34189 setState(4801);
34190 match(QUERY_STORE);
34191 setState(4821);
34192 _errHandler.sync(this);
34193 switch ( getInterpreter().adaptivePredict(_input,520,_ctx) ) {
34194 case 1:
34195 {
34196 setState(4802);
34197 match(EQ_);
34198 setState(4803);
34199 match(OFF);
34200 }
34201 break;
34202 case 2:
34203 {
34204 setState(4806);
34205 _errHandler.sync(this);
34206 _la = _input.LA(1);
34207 if (_la==EQ_) {
34208 {
34209 setState(4804);
34210 match(EQ_);
34211 setState(4805);
34212 match(ON);
34213 }
34214 }
34215
34216 setState(4819);
34217 _errHandler.sync(this);
34218 switch ( getInterpreter().adaptivePredict(_input,519,_ctx) ) {
34219 case 1:
34220 {
34221 setState(4808);
34222 match(LP_);
34223 setState(4809);
34224 queryStoreOptionList();
34225 setState(4814);
34226 _errHandler.sync(this);
34227 _la = _input.LA(1);
34228 while (_la==COMMA_) {
34229 {
34230 {
34231 setState(4810);
34232 match(COMMA_);
34233 setState(4811);
34234 queryStoreOptionList();
34235 }
34236 }
34237 setState(4816);
34238 _errHandler.sync(this);
34239 _la = _input.LA(1);
34240 }
34241 setState(4817);
34242 match(RP_);
34243 }
34244 break;
34245 }
34246 }
34247 break;
34248 }
34249 }
34250 }
34251 catch (RecognitionException re) {
34252 _localctx.exception = re;
34253 _errHandler.reportError(this, re);
34254 _errHandler.recover(this, re);
34255 }
34256 finally {
34257 exitRule();
34258 }
34259 return _localctx;
34260 }
34261
34262 public static class QueryStoreOptionListContext extends ParserRuleContext {
34263 public TerminalNode OPERATION_MODE() { return getToken(SQLServerStatementParser.OPERATION_MODE, 0); }
34264 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
34265 public TerminalNode EQ_(int i) {
34266 return getToken(SQLServerStatementParser.EQ_, i);
34267 }
34268 public TerminalNode READ_WRITE() { return getToken(SQLServerStatementParser.READ_WRITE, 0); }
34269 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
34270 public TerminalNode CLEANUP_POLICY() { return getToken(SQLServerStatementParser.CLEANUP_POLICY, 0); }
34271 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
34272 public TerminalNode STALE_QUERY_THRESHOLD_DAYS() { return getToken(SQLServerStatementParser.STALE_QUERY_THRESHOLD_DAYS, 0); }
34273 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
34274 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
34275 public TerminalNode DATA_FLUSH_INTERVAL_SECONDS() { return getToken(SQLServerStatementParser.DATA_FLUSH_INTERVAL_SECONDS, 0); }
34276 public TerminalNode MAX_STORAGE_SIZE_MB() { return getToken(SQLServerStatementParser.MAX_STORAGE_SIZE_MB, 0); }
34277 public TerminalNode INTERVAL_LENGTH_MINUTES() { return getToken(SQLServerStatementParser.INTERVAL_LENGTH_MINUTES, 0); }
34278 public TerminalNode SIZE_BASED_CLEANUP_MODE() { return getToken(SQLServerStatementParser.SIZE_BASED_CLEANUP_MODE, 0); }
34279 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
34280 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
34281 public TerminalNode QUERY_CAPTURE_MODE() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_MODE, 0); }
34282 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
34283 public TerminalNode CUSTOM() { return getToken(SQLServerStatementParser.CUSTOM, 0); }
34284 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
34285 public TerminalNode MAX_PLANS_PER_QUERY() { return getToken(SQLServerStatementParser.MAX_PLANS_PER_QUERY, 0); }
34286 public TerminalNode WAIT_STATS_CAPTURE_MODE() { return getToken(SQLServerStatementParser.WAIT_STATS_CAPTURE_MODE, 0); }
34287 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
34288 public TerminalNode QUERY_CAPTURE_POLICY() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_POLICY, 0); }
34289 public List<QueryCapturePolicyOptionListContext> queryCapturePolicyOptionList() {
34290 return getRuleContexts(QueryCapturePolicyOptionListContext.class);
34291 }
34292 public QueryCapturePolicyOptionListContext queryCapturePolicyOptionList(int i) {
34293 return getRuleContext(QueryCapturePolicyOptionListContext.class,i);
34294 }
34295 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
34296 public TerminalNode COMMA_(int i) {
34297 return getToken(SQLServerStatementParser.COMMA_, i);
34298 }
34299 public QueryStoreOptionListContext(ParserRuleContext parent, int invokingState) {
34300 super(parent, invokingState);
34301 }
34302 @Override public int getRuleIndex() { return RULE_queryStoreOptionList; }
34303 @Override
34304 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34305 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryStoreOptionList(this);
34306 else return visitor.visitChildren(this);
34307 }
34308 }
34309
34310 public final QueryStoreOptionListContext queryStoreOptionList() throws RecognitionException {
34311 QueryStoreOptionListContext _localctx = new QueryStoreOptionListContext(_ctx, getState());
34312 enterRule(_localctx, 662, RULE_queryStoreOptionList);
34313 int _la;
34314 try {
34315 setState(4867);
34316 _errHandler.sync(this);
34317 switch (_input.LA(1)) {
34318 case OPERATION_MODE:
34319 enterOuterAlt(_localctx, 1);
34320 {
34321 setState(4823);
34322 match(OPERATION_MODE);
34323 setState(4824);
34324 match(EQ_);
34325 setState(4825);
34326 _la = _input.LA(1);
34327 if ( !(_la==READ_ONLY || _la==READ_WRITE) ) {
34328 _errHandler.recoverInline(this);
34329 }
34330 else {
34331 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34332 _errHandler.reportMatch(this);
34333 consume();
34334 }
34335 }
34336 break;
34337 case CLEANUP_POLICY:
34338 enterOuterAlt(_localctx, 2);
34339 {
34340 setState(4826);
34341 match(CLEANUP_POLICY);
34342 setState(4827);
34343 match(EQ_);
34344 setState(4828);
34345 match(LP_);
34346 setState(4829);
34347 match(STALE_QUERY_THRESHOLD_DAYS);
34348 setState(4830);
34349 match(EQ_);
34350 setState(4831);
34351 match(NUMBER_);
34352 setState(4832);
34353 match(RP_);
34354 }
34355 break;
34356 case DATA_FLUSH_INTERVAL_SECONDS:
34357 enterOuterAlt(_localctx, 3);
34358 {
34359 setState(4833);
34360 match(DATA_FLUSH_INTERVAL_SECONDS);
34361 setState(4834);
34362 match(EQ_);
34363 setState(4835);
34364 match(NUMBER_);
34365 }
34366 break;
34367 case MAX_STORAGE_SIZE_MB:
34368 enterOuterAlt(_localctx, 4);
34369 {
34370 setState(4836);
34371 match(MAX_STORAGE_SIZE_MB);
34372 setState(4837);
34373 match(EQ_);
34374 setState(4838);
34375 match(NUMBER_);
34376 }
34377 break;
34378 case INTERVAL_LENGTH_MINUTES:
34379 enterOuterAlt(_localctx, 5);
34380 {
34381 setState(4839);
34382 match(INTERVAL_LENGTH_MINUTES);
34383 setState(4840);
34384 match(EQ_);
34385 setState(4841);
34386 match(NUMBER_);
34387 }
34388 break;
34389 case SIZE_BASED_CLEANUP_MODE:
34390 enterOuterAlt(_localctx, 6);
34391 {
34392 setState(4842);
34393 match(SIZE_BASED_CLEANUP_MODE);
34394 setState(4843);
34395 match(EQ_);
34396 setState(4844);
34397 _la = _input.LA(1);
34398 if ( !(_la==OFF || _la==AUTO) ) {
34399 _errHandler.recoverInline(this);
34400 }
34401 else {
34402 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34403 _errHandler.reportMatch(this);
34404 consume();
34405 }
34406 }
34407 break;
34408 case QUERY_CAPTURE_MODE:
34409 enterOuterAlt(_localctx, 7);
34410 {
34411 setState(4845);
34412 match(QUERY_CAPTURE_MODE);
34413 setState(4846);
34414 match(EQ_);
34415 setState(4847);
34416 _la = _input.LA(1);
34417 if ( !(_la==ALL || _la==AUTO || _la==NONE || _la==CUSTOM) ) {
34418 _errHandler.recoverInline(this);
34419 }
34420 else {
34421 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34422 _errHandler.reportMatch(this);
34423 consume();
34424 }
34425 }
34426 break;
34427 case MAX_PLANS_PER_QUERY:
34428 enterOuterAlt(_localctx, 8);
34429 {
34430 setState(4848);
34431 match(MAX_PLANS_PER_QUERY);
34432 setState(4849);
34433 match(EQ_);
34434 setState(4850);
34435 match(NUMBER_);
34436 }
34437 break;
34438 case WAIT_STATS_CAPTURE_MODE:
34439 enterOuterAlt(_localctx, 9);
34440 {
34441 setState(4851);
34442 match(WAIT_STATS_CAPTURE_MODE);
34443 setState(4852);
34444 match(EQ_);
34445 setState(4853);
34446 _la = _input.LA(1);
34447 if ( !(_la==ON || _la==OFF) ) {
34448 _errHandler.recoverInline(this);
34449 }
34450 else {
34451 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34452 _errHandler.reportMatch(this);
34453 consume();
34454 }
34455 }
34456 break;
34457 case QUERY_CAPTURE_POLICY:
34458 enterOuterAlt(_localctx, 10);
34459 {
34460 setState(4854);
34461 match(QUERY_CAPTURE_POLICY);
34462 setState(4855);
34463 match(EQ_);
34464 setState(4856);
34465 match(LP_);
34466 setState(4857);
34467 queryCapturePolicyOptionList();
34468 setState(4862);
34469 _errHandler.sync(this);
34470 _la = _input.LA(1);
34471 while (_la==COMMA_) {
34472 {
34473 {
34474 setState(4858);
34475 match(COMMA_);
34476 setState(4859);
34477 queryCapturePolicyOptionList();
34478 }
34479 }
34480 setState(4864);
34481 _errHandler.sync(this);
34482 _la = _input.LA(1);
34483 }
34484 setState(4865);
34485 match(RP_);
34486 }
34487 break;
34488 default:
34489 throw new NoViableAltException(this);
34490 }
34491 }
34492 catch (RecognitionException re) {
34493 _localctx.exception = re;
34494 _errHandler.reportError(this, re);
34495 _errHandler.recover(this, re);
34496 }
34497 finally {
34498 exitRule();
34499 }
34500 return _localctx;
34501 }
34502
34503 public static class QueryCapturePolicyOptionListContext extends ParserRuleContext {
34504 public TerminalNode STALE_CAPTURE_POLICY_THRESHOLD() { return getToken(SQLServerStatementParser.STALE_CAPTURE_POLICY_THRESHOLD, 0); }
34505 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
34506 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
34507 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
34508 public TerminalNode HOURS() { return getToken(SQLServerStatementParser.HOURS, 0); }
34509 public TerminalNode EXECUTION_COUNT() { return getToken(SQLServerStatementParser.EXECUTION_COUNT, 0); }
34510 public TerminalNode TOTAL_COMPILE_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_COMPILE_CPU_TIME_MS, 0); }
34511 public TerminalNode TOTAL_EXECUTION_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_EXECUTION_CPU_TIME_MS, 0); }
34512 public QueryCapturePolicyOptionListContext(ParserRuleContext parent, int invokingState) {
34513 super(parent, invokingState);
34514 }
34515 @Override public int getRuleIndex() { return RULE_queryCapturePolicyOptionList; }
34516 @Override
34517 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34518 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryCapturePolicyOptionList(this);
34519 else return visitor.visitChildren(this);
34520 }
34521 }
34522
34523 public final QueryCapturePolicyOptionListContext queryCapturePolicyOptionList() throws RecognitionException {
34524 QueryCapturePolicyOptionListContext _localctx = new QueryCapturePolicyOptionListContext(_ctx, getState());
34525 enterRule(_localctx, 664, RULE_queryCapturePolicyOptionList);
34526 int _la;
34527 try {
34528 setState(4882);
34529 _errHandler.sync(this);
34530 switch (_input.LA(1)) {
34531 case STALE_CAPTURE_POLICY_THRESHOLD:
34532 enterOuterAlt(_localctx, 1);
34533 {
34534 setState(4869);
34535 match(STALE_CAPTURE_POLICY_THRESHOLD);
34536 setState(4870);
34537 match(EQ_);
34538 setState(4871);
34539 match(NUMBER_);
34540 setState(4872);
34541 _la = _input.LA(1);
34542 if ( !(_la==DAYS || _la==HOURS) ) {
34543 _errHandler.recoverInline(this);
34544 }
34545 else {
34546 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34547 _errHandler.reportMatch(this);
34548 consume();
34549 }
34550 }
34551 break;
34552 case EXECUTION_COUNT:
34553 enterOuterAlt(_localctx, 2);
34554 {
34555 setState(4873);
34556 match(EXECUTION_COUNT);
34557 setState(4874);
34558 match(EQ_);
34559 setState(4875);
34560 match(NUMBER_);
34561 }
34562 break;
34563 case TOTAL_COMPILE_CPU_TIME_MS:
34564 enterOuterAlt(_localctx, 3);
34565 {
34566 setState(4876);
34567 match(TOTAL_COMPILE_CPU_TIME_MS);
34568 setState(4877);
34569 match(EQ_);
34570 setState(4878);
34571 match(NUMBER_);
34572 }
34573 break;
34574 case TOTAL_EXECUTION_CPU_TIME_MS:
34575 enterOuterAlt(_localctx, 4);
34576 {
34577 setState(4879);
34578 match(TOTAL_EXECUTION_CPU_TIME_MS);
34579 setState(4880);
34580 match(EQ_);
34581 setState(4881);
34582 match(NUMBER_);
34583 }
34584 break;
34585 default:
34586 throw new NoViableAltException(this);
34587 }
34588 }
34589 catch (RecognitionException re) {
34590 _localctx.exception = re;
34591 _errHandler.reportError(this, re);
34592 _errHandler.recover(this, re);
34593 }
34594 finally {
34595 exitRule();
34596 }
34597 return _localctx;
34598 }
34599
34600 public static class RecoveryOptionContext extends ParserRuleContext {
34601 public TerminalNode RECOVERY() { return getToken(SQLServerStatementParser.RECOVERY, 0); }
34602 public TerminalNode FULL() { return getToken(SQLServerStatementParser.FULL, 0); }
34603 public TerminalNode BULK_LOGGED() { return getToken(SQLServerStatementParser.BULK_LOGGED, 0); }
34604 public TerminalNode SIMPLE() { return getToken(SQLServerStatementParser.SIMPLE, 0); }
34605 public TerminalNode TORN_PAGE_DETECTION() { return getToken(SQLServerStatementParser.TORN_PAGE_DETECTION, 0); }
34606 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
34607 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
34608 public TerminalNode PAGE_VERIFY() { return getToken(SQLServerStatementParser.PAGE_VERIFY, 0); }
34609 public TerminalNode CHECKSUM() { return getToken(SQLServerStatementParser.CHECKSUM, 0); }
34610 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
34611 public RecoveryOptionContext(ParserRuleContext parent, int invokingState) {
34612 super(parent, invokingState);
34613 }
34614 @Override public int getRuleIndex() { return RULE_recoveryOption; }
34615 @Override
34616 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34617 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRecoveryOption(this);
34618 else return visitor.visitChildren(this);
34619 }
34620 }
34621
34622 public final RecoveryOptionContext recoveryOption() throws RecognitionException {
34623 RecoveryOptionContext _localctx = new RecoveryOptionContext(_ctx, getState());
34624 enterRule(_localctx, 666, RULE_recoveryOption);
34625 int _la;
34626 try {
34627 setState(4890);
34628 _errHandler.sync(this);
34629 switch (_input.LA(1)) {
34630 case RECOVERY:
34631 enterOuterAlt(_localctx, 1);
34632 {
34633 setState(4884);
34634 match(RECOVERY);
34635 setState(4885);
34636 _la = _input.LA(1);
34637 if ( !(_la==FULL || _la==SIMPLE || _la==BULK_LOGGED) ) {
34638 _errHandler.recoverInline(this);
34639 }
34640 else {
34641 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34642 _errHandler.reportMatch(this);
34643 consume();
34644 }
34645 }
34646 break;
34647 case TORN_PAGE_DETECTION:
34648 enterOuterAlt(_localctx, 2);
34649 {
34650 setState(4886);
34651 match(TORN_PAGE_DETECTION);
34652 setState(4887);
34653 _la = _input.LA(1);
34654 if ( !(_la==ON || _la==OFF) ) {
34655 _errHandler.recoverInline(this);
34656 }
34657 else {
34658 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34659 _errHandler.reportMatch(this);
34660 consume();
34661 }
34662 }
34663 break;
34664 case PAGE_VERIFY:
34665 enterOuterAlt(_localctx, 3);
34666 {
34667 setState(4888);
34668 match(PAGE_VERIFY);
34669 setState(4889);
34670 _la = _input.LA(1);
34671 if ( !(_la==NONE || _la==CHECKSUM || _la==TORN_PAGE_DETECTION) ) {
34672 _errHandler.recoverInline(this);
34673 }
34674 else {
34675 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34676 _errHandler.reportMatch(this);
34677 consume();
34678 }
34679 }
34680 break;
34681 default:
34682 throw new NoViableAltException(this);
34683 }
34684 }
34685 catch (RecognitionException re) {
34686 _localctx.exception = re;
34687 _errHandler.reportError(this, re);
34688 _errHandler.recover(this, re);
34689 }
34690 finally {
34691 exitRule();
34692 }
34693 return _localctx;
34694 }
34695
34696 public static class SqlOptionContext extends ParserRuleContext {
34697 public TerminalNode ANSI_NULL_DEFAULT() { return getToken(SQLServerStatementParser.ANSI_NULL_DEFAULT, 0); }
34698 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
34699 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
34700 public TerminalNode ANSI_NULLS() { return getToken(SQLServerStatementParser.ANSI_NULLS, 0); }
34701 public TerminalNode ANSI_PADDING() { return getToken(SQLServerStatementParser.ANSI_PADDING, 0); }
34702 public TerminalNode ANSI_WARNINGS() { return getToken(SQLServerStatementParser.ANSI_WARNINGS, 0); }
34703 public TerminalNode ARITHABORT() { return getToken(SQLServerStatementParser.ARITHABORT, 0); }
34704 public TerminalNode COMPATIBILITY_LEVEL() { return getToken(SQLServerStatementParser.COMPATIBILITY_LEVEL, 0); }
34705 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
34706 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
34707 public TerminalNode CONCAT_NULL_YIELDS_NULL() { return getToken(SQLServerStatementParser.CONCAT_NULL_YIELDS_NULL, 0); }
34708 public TerminalNode NUMERIC_ROUNDABORT() { return getToken(SQLServerStatementParser.NUMERIC_ROUNDABORT, 0); }
34709 public TerminalNode QUOTED_IDENTIFIER() { return getToken(SQLServerStatementParser.QUOTED_IDENTIFIER, 0); }
34710 public TerminalNode RECURSIVE_TRIGGERS() { return getToken(SQLServerStatementParser.RECURSIVE_TRIGGERS, 0); }
34711 public SqlOptionContext(ParserRuleContext parent, int invokingState) {
34712 super(parent, invokingState);
34713 }
34714 @Override public int getRuleIndex() { return RULE_sqlOption; }
34715 @Override
34716 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34717 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSqlOption(this);
34718 else return visitor.visitChildren(this);
34719 }
34720 }
34721
34722 public final SqlOptionContext sqlOption() throws RecognitionException {
34723 SqlOptionContext _localctx = new SqlOptionContext(_ctx, getState());
34724 enterRule(_localctx, 668, RULE_sqlOption);
34725 int _la;
34726 try {
34727 setState(4913);
34728 _errHandler.sync(this);
34729 switch (_input.LA(1)) {
34730 case ANSI_NULL_DEFAULT:
34731 enterOuterAlt(_localctx, 1);
34732 {
34733 setState(4892);
34734 match(ANSI_NULL_DEFAULT);
34735 setState(4893);
34736 _la = _input.LA(1);
34737 if ( !(_la==ON || _la==OFF) ) {
34738 _errHandler.recoverInline(this);
34739 }
34740 else {
34741 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34742 _errHandler.reportMatch(this);
34743 consume();
34744 }
34745 }
34746 break;
34747 case ANSI_NULLS:
34748 enterOuterAlt(_localctx, 2);
34749 {
34750 setState(4894);
34751 match(ANSI_NULLS);
34752 setState(4895);
34753 _la = _input.LA(1);
34754 if ( !(_la==ON || _la==OFF) ) {
34755 _errHandler.recoverInline(this);
34756 }
34757 else {
34758 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34759 _errHandler.reportMatch(this);
34760 consume();
34761 }
34762 }
34763 break;
34764 case ANSI_PADDING:
34765 enterOuterAlt(_localctx, 3);
34766 {
34767 setState(4896);
34768 match(ANSI_PADDING);
34769 setState(4897);
34770 _la = _input.LA(1);
34771 if ( !(_la==ON || _la==OFF) ) {
34772 _errHandler.recoverInline(this);
34773 }
34774 else {
34775 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34776 _errHandler.reportMatch(this);
34777 consume();
34778 }
34779 }
34780 break;
34781 case ANSI_WARNINGS:
34782 enterOuterAlt(_localctx, 4);
34783 {
34784 setState(4898);
34785 match(ANSI_WARNINGS);
34786 setState(4899);
34787 _la = _input.LA(1);
34788 if ( !(_la==ON || _la==OFF) ) {
34789 _errHandler.recoverInline(this);
34790 }
34791 else {
34792 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34793 _errHandler.reportMatch(this);
34794 consume();
34795 }
34796 }
34797 break;
34798 case ARITHABORT:
34799 enterOuterAlt(_localctx, 5);
34800 {
34801 setState(4900);
34802 match(ARITHABORT);
34803 setState(4901);
34804 _la = _input.LA(1);
34805 if ( !(_la==ON || _la==OFF) ) {
34806 _errHandler.recoverInline(this);
34807 }
34808 else {
34809 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34810 _errHandler.reportMatch(this);
34811 consume();
34812 }
34813 }
34814 break;
34815 case COMPATIBILITY_LEVEL:
34816 enterOuterAlt(_localctx, 6);
34817 {
34818 setState(4902);
34819 match(COMPATIBILITY_LEVEL);
34820 setState(4903);
34821 match(EQ_);
34822 setState(4904);
34823 match(NUMBER_);
34824 }
34825 break;
34826 case CONCAT_NULL_YIELDS_NULL:
34827 enterOuterAlt(_localctx, 7);
34828 {
34829 setState(4905);
34830 match(CONCAT_NULL_YIELDS_NULL);
34831 setState(4906);
34832 _la = _input.LA(1);
34833 if ( !(_la==ON || _la==OFF) ) {
34834 _errHandler.recoverInline(this);
34835 }
34836 else {
34837 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34838 _errHandler.reportMatch(this);
34839 consume();
34840 }
34841 }
34842 break;
34843 case NUMERIC_ROUNDABORT:
34844 enterOuterAlt(_localctx, 8);
34845 {
34846 setState(4907);
34847 match(NUMERIC_ROUNDABORT);
34848 setState(4908);
34849 _la = _input.LA(1);
34850 if ( !(_la==ON || _la==OFF) ) {
34851 _errHandler.recoverInline(this);
34852 }
34853 else {
34854 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34855 _errHandler.reportMatch(this);
34856 consume();
34857 }
34858 }
34859 break;
34860 case QUOTED_IDENTIFIER:
34861 enterOuterAlt(_localctx, 9);
34862 {
34863 setState(4909);
34864 match(QUOTED_IDENTIFIER);
34865 setState(4910);
34866 _la = _input.LA(1);
34867 if ( !(_la==ON || _la==OFF) ) {
34868 _errHandler.recoverInline(this);
34869 }
34870 else {
34871 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34872 _errHandler.reportMatch(this);
34873 consume();
34874 }
34875 }
34876 break;
34877 case RECURSIVE_TRIGGERS:
34878 enterOuterAlt(_localctx, 10);
34879 {
34880 setState(4911);
34881 match(RECURSIVE_TRIGGERS);
34882 setState(4912);
34883 _la = _input.LA(1);
34884 if ( !(_la==ON || _la==OFF) ) {
34885 _errHandler.recoverInline(this);
34886 }
34887 else {
34888 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34889 _errHandler.reportMatch(this);
34890 consume();
34891 }
34892 }
34893 break;
34894 default:
34895 throw new NoViableAltException(this);
34896 }
34897 }
34898 catch (RecognitionException re) {
34899 _localctx.exception = re;
34900 _errHandler.reportError(this, re);
34901 _errHandler.recover(this, re);
34902 }
34903 finally {
34904 exitRule();
34905 }
34906 return _localctx;
34907 }
34908
34909 public static class SnapshotOptionContext extends ParserRuleContext {
34910 public TerminalNode ALLOW_SNAPSHOT_ISOLATION() { return getToken(SQLServerStatementParser.ALLOW_SNAPSHOT_ISOLATION, 0); }
34911 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
34912 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
34913 public TerminalNode READ_COMMITTED_SNAPSHOT() { return getToken(SQLServerStatementParser.READ_COMMITTED_SNAPSHOT, 0); }
34914 public TerminalNode MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT, 0); }
34915 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
34916 public SnapshotOptionContext(ParserRuleContext parent, int invokingState) {
34917 super(parent, invokingState);
34918 }
34919 @Override public int getRuleIndex() { return RULE_snapshotOption; }
34920 @Override
34921 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34922 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSnapshotOption(this);
34923 else return visitor.visitChildren(this);
34924 }
34925 }
34926
34927 public final SnapshotOptionContext snapshotOption() throws RecognitionException {
34928 SnapshotOptionContext _localctx = new SnapshotOptionContext(_ctx, getState());
34929 enterRule(_localctx, 670, RULE_snapshotOption);
34930 int _la;
34931 try {
34932 setState(4922);
34933 _errHandler.sync(this);
34934 switch (_input.LA(1)) {
34935 case ALLOW_SNAPSHOT_ISOLATION:
34936 enterOuterAlt(_localctx, 1);
34937 {
34938 setState(4915);
34939 match(ALLOW_SNAPSHOT_ISOLATION);
34940 setState(4916);
34941 _la = _input.LA(1);
34942 if ( !(_la==ON || _la==OFF) ) {
34943 _errHandler.recoverInline(this);
34944 }
34945 else {
34946 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34947 _errHandler.reportMatch(this);
34948 consume();
34949 }
34950 }
34951 break;
34952 case READ_COMMITTED_SNAPSHOT:
34953 enterOuterAlt(_localctx, 2);
34954 {
34955 setState(4917);
34956 match(READ_COMMITTED_SNAPSHOT);
34957 setState(4918);
34958 _la = _input.LA(1);
34959 if ( !(_la==ON || _la==OFF) ) {
34960 _errHandler.recoverInline(this);
34961 }
34962 else {
34963 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34964 _errHandler.reportMatch(this);
34965 consume();
34966 }
34967 }
34968 break;
34969 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
34970 enterOuterAlt(_localctx, 3);
34971 {
34972 setState(4919);
34973 match(MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT);
34974 setState(4920);
34975 match(EQ_);
34976 setState(4921);
34977 _la = _input.LA(1);
34978 if ( !(_la==ON || _la==OFF) ) {
34979 _errHandler.recoverInline(this);
34980 }
34981 else {
34982 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
34983 _errHandler.reportMatch(this);
34984 consume();
34985 }
34986 }
34987 break;
34988 default:
34989 throw new NoViableAltException(this);
34990 }
34991 }
34992 catch (RecognitionException re) {
34993 _localctx.exception = re;
34994 _errHandler.reportError(this, re);
34995 _errHandler.recover(this, re);
34996 }
34997 finally {
34998 exitRule();
34999 }
35000 return _localctx;
35001 }
35002
35003 public static class ServiceBrokerOptionContext extends ParserRuleContext {
35004 public TerminalNode ENABLE_BROKER() { return getToken(SQLServerStatementParser.ENABLE_BROKER, 0); }
35005 public TerminalNode DISABLE_BROKER() { return getToken(SQLServerStatementParser.DISABLE_BROKER, 0); }
35006 public TerminalNode NEW_BROKER() { return getToken(SQLServerStatementParser.NEW_BROKER, 0); }
35007 public TerminalNode ERROR_BROKER_CONVERSATIONS() { return getToken(SQLServerStatementParser.ERROR_BROKER_CONVERSATIONS, 0); }
35008 public TerminalNode HONOR_BROKER_PRIORITY() { return getToken(SQLServerStatementParser.HONOR_BROKER_PRIORITY, 0); }
35009 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
35010 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
35011 public ServiceBrokerOptionContext(ParserRuleContext parent, int invokingState) {
35012 super(parent, invokingState);
35013 }
35014 @Override public int getRuleIndex() { return RULE_serviceBrokerOption; }
35015 @Override
35016 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35017 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerOption(this);
35018 else return visitor.visitChildren(this);
35019 }
35020 }
35021
35022 public final ServiceBrokerOptionContext serviceBrokerOption() throws RecognitionException {
35023 ServiceBrokerOptionContext _localctx = new ServiceBrokerOptionContext(_ctx, getState());
35024 enterRule(_localctx, 672, RULE_serviceBrokerOption);
35025 int _la;
35026 try {
35027 setState(4930);
35028 _errHandler.sync(this);
35029 switch (_input.LA(1)) {
35030 case ENABLE_BROKER:
35031 enterOuterAlt(_localctx, 1);
35032 {
35033 setState(4924);
35034 match(ENABLE_BROKER);
35035 }
35036 break;
35037 case DISABLE_BROKER:
35038 enterOuterAlt(_localctx, 2);
35039 {
35040 setState(4925);
35041 match(DISABLE_BROKER);
35042 }
35043 break;
35044 case NEW_BROKER:
35045 enterOuterAlt(_localctx, 3);
35046 {
35047 setState(4926);
35048 match(NEW_BROKER);
35049 }
35050 break;
35051 case ERROR_BROKER_CONVERSATIONS:
35052 enterOuterAlt(_localctx, 4);
35053 {
35054 setState(4927);
35055 match(ERROR_BROKER_CONVERSATIONS);
35056 }
35057 break;
35058 case HONOR_BROKER_PRIORITY:
35059 enterOuterAlt(_localctx, 5);
35060 {
35061 setState(4928);
35062 match(HONOR_BROKER_PRIORITY);
35063 setState(4929);
35064 _la = _input.LA(1);
35065 if ( !(_la==ON || _la==OFF) ) {
35066 _errHandler.recoverInline(this);
35067 }
35068 else {
35069 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
35070 _errHandler.reportMatch(this);
35071 consume();
35072 }
35073 }
35074 break;
35075 default:
35076 throw new NoViableAltException(this);
35077 }
35078 }
35079 catch (RecognitionException re) {
35080 _localctx.exception = re;
35081 _errHandler.reportError(this, re);
35082 _errHandler.recover(this, re);
35083 }
35084 finally {
35085 exitRule();
35086 }
35087 return _localctx;
35088 }
35089
35090 public static class TargetRecoveryTimeOptionContext extends ParserRuleContext {
35091 public TerminalNode TARGET_RECOVERY_TIME() { return getToken(SQLServerStatementParser.TARGET_RECOVERY_TIME, 0); }
35092 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
35093 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
35094 public TerminalNode SECONDS() { return getToken(SQLServerStatementParser.SECONDS, 0); }
35095 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
35096 public TargetRecoveryTimeOptionContext(ParserRuleContext parent, int invokingState) {
35097 super(parent, invokingState);
35098 }
35099 @Override public int getRuleIndex() { return RULE_targetRecoveryTimeOption; }
35100 @Override
35101 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35102 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTargetRecoveryTimeOption(this);
35103 else return visitor.visitChildren(this);
35104 }
35105 }
35106
35107 public final TargetRecoveryTimeOptionContext targetRecoveryTimeOption() throws RecognitionException {
35108 TargetRecoveryTimeOptionContext _localctx = new TargetRecoveryTimeOptionContext(_ctx, getState());
35109 enterRule(_localctx, 674, RULE_targetRecoveryTimeOption);
35110 int _la;
35111 try {
35112 enterOuterAlt(_localctx, 1);
35113 {
35114 setState(4932);
35115 match(TARGET_RECOVERY_TIME);
35116 setState(4933);
35117 match(EQ_);
35118 setState(4934);
35119 match(NUMBER_);
35120 setState(4935);
35121 _la = _input.LA(1);
35122 if ( !(_la==MINUTES || _la==SECONDS) ) {
35123 _errHandler.recoverInline(this);
35124 }
35125 else {
35126 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
35127 _errHandler.reportMatch(this);
35128 consume();
35129 }
35130 }
35131 }
35132 catch (RecognitionException re) {
35133 _localctx.exception = re;
35134 _errHandler.reportError(this, re);
35135 _errHandler.recover(this, re);
35136 }
35137 finally {
35138 exitRule();
35139 }
35140 return _localctx;
35141 }
35142
35143 public static class TerminationContext extends ParserRuleContext {
35144 public TerminalNode ROLLBACK() { return getToken(SQLServerStatementParser.ROLLBACK, 0); }
35145 public TerminalNode AFTER() { return getToken(SQLServerStatementParser.AFTER, 0); }
35146 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
35147 public TerminalNode SECONDS() { return getToken(SQLServerStatementParser.SECONDS, 0); }
35148 public TerminalNode IMMEDIATE() { return getToken(SQLServerStatementParser.IMMEDIATE, 0); }
35149 public TerminalNode NO_WAIT() { return getToken(SQLServerStatementParser.NO_WAIT, 0); }
35150 public TerminationContext(ParserRuleContext parent, int invokingState) {
35151 super(parent, invokingState);
35152 }
35153 @Override public int getRuleIndex() { return RULE_termination; }
35154 @Override
35155 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35156 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTermination(this);
35157 else return visitor.visitChildren(this);
35158 }
35159 }
35160
35161 public final TerminationContext termination() throws RecognitionException {
35162 TerminationContext _localctx = new TerminationContext(_ctx, getState());
35163 enterRule(_localctx, 676, RULE_termination);
35164 int _la;
35165 try {
35166 setState(4946);
35167 _errHandler.sync(this);
35168 switch ( getInterpreter().adaptivePredict(_input,529,_ctx) ) {
35169 case 1:
35170 enterOuterAlt(_localctx, 1);
35171 {
35172 setState(4937);
35173 match(ROLLBACK);
35174 setState(4938);
35175 match(AFTER);
35176 setState(4939);
35177 match(NUMBER_);
35178 setState(4941);
35179 _errHandler.sync(this);
35180 _la = _input.LA(1);
35181 if (_la==SECONDS) {
35182 {
35183 setState(4940);
35184 match(SECONDS);
35185 }
35186 }
35187
35188 }
35189 break;
35190 case 2:
35191 enterOuterAlt(_localctx, 2);
35192 {
35193 setState(4943);
35194 match(ROLLBACK);
35195 setState(4944);
35196 match(IMMEDIATE);
35197 }
35198 break;
35199 case 3:
35200 enterOuterAlt(_localctx, 3);
35201 {
35202 setState(4945);
35203 match(NO_WAIT);
35204 }
35205 break;
35206 }
35207 }
35208 catch (RecognitionException re) {
35209 _localctx.exception = re;
35210 _errHandler.reportError(this, re);
35211 _errHandler.recover(this, re);
35212 }
35213 finally {
35214 exitRule();
35215 }
35216 return _localctx;
35217 }
35218
35219 public static class CreateServiceClauseContext extends ParserRuleContext {
35220 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
35221 public List<ContractNameContext> contractName() {
35222 return getRuleContexts(ContractNameContext.class);
35223 }
35224 public ContractNameContext contractName(int i) {
35225 return getRuleContext(ContractNameContext.class,i);
35226 }
35227 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
35228 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
35229 public TerminalNode COMMA_(int i) {
35230 return getToken(SQLServerStatementParser.COMMA_, i);
35231 }
35232 public CreateServiceClauseContext(ParserRuleContext parent, int invokingState) {
35233 super(parent, invokingState);
35234 }
35235 @Override public int getRuleIndex() { return RULE_createServiceClause; }
35236 @Override
35237 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35238 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateServiceClause(this);
35239 else return visitor.visitChildren(this);
35240 }
35241 }
35242
35243 public final CreateServiceClauseContext createServiceClause() throws RecognitionException {
35244 CreateServiceClauseContext _localctx = new CreateServiceClauseContext(_ctx, getState());
35245 enterRule(_localctx, 678, RULE_createServiceClause);
35246 int _la;
35247 try {
35248 enterOuterAlt(_localctx, 1);
35249 {
35250 setState(4948);
35251 match(LP_);
35252 setState(4949);
35253 contractName();
35254 setState(4954);
35255 _errHandler.sync(this);
35256 _la = _input.LA(1);
35257 while (_la==COMMA_) {
35258 {
35259 {
35260 setState(4950);
35261 match(COMMA_);
35262 setState(4951);
35263 contractName();
35264 }
35265 }
35266 setState(4956);
35267 _errHandler.sync(this);
35268 _la = _input.LA(1);
35269 }
35270 setState(4957);
35271 match(RP_);
35272 }
35273 }
35274 catch (RecognitionException re) {
35275 _localctx.exception = re;
35276 _errHandler.reportError(this, re);
35277 _errHandler.recover(this, re);
35278 }
35279 finally {
35280 exitRule();
35281 }
35282 return _localctx;
35283 }
35284
35285 public static class AlterServiceClauseContext extends ParserRuleContext {
35286 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
35287 public List<AlterServiceOptArgContext> alterServiceOptArg() {
35288 return getRuleContexts(AlterServiceOptArgContext.class);
35289 }
35290 public AlterServiceOptArgContext alterServiceOptArg(int i) {
35291 return getRuleContext(AlterServiceOptArgContext.class,i);
35292 }
35293 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
35294 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
35295 public TerminalNode COMMA_(int i) {
35296 return getToken(SQLServerStatementParser.COMMA_, i);
35297 }
35298 public AlterServiceClauseContext(ParserRuleContext parent, int invokingState) {
35299 super(parent, invokingState);
35300 }
35301 @Override public int getRuleIndex() { return RULE_alterServiceClause; }
35302 @Override
35303 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35304 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterServiceClause(this);
35305 else return visitor.visitChildren(this);
35306 }
35307 }
35308
35309 public final AlterServiceClauseContext alterServiceClause() throws RecognitionException {
35310 AlterServiceClauseContext _localctx = new AlterServiceClauseContext(_ctx, getState());
35311 enterRule(_localctx, 680, RULE_alterServiceClause);
35312 int _la;
35313 try {
35314 enterOuterAlt(_localctx, 1);
35315 {
35316 setState(4959);
35317 match(LP_);
35318 setState(4960);
35319 alterServiceOptArg();
35320 setState(4965);
35321 _errHandler.sync(this);
35322 _la = _input.LA(1);
35323 while (_la==COMMA_) {
35324 {
35325 {
35326 setState(4961);
35327 match(COMMA_);
35328 setState(4962);
35329 alterServiceOptArg();
35330 }
35331 }
35332 setState(4967);
35333 _errHandler.sync(this);
35334 _la = _input.LA(1);
35335 }
35336 setState(4968);
35337 match(RP_);
35338 }
35339 }
35340 catch (RecognitionException re) {
35341 _localctx.exception = re;
35342 _errHandler.reportError(this, re);
35343 _errHandler.recover(this, re);
35344 }
35345 finally {
35346 exitRule();
35347 }
35348 return _localctx;
35349 }
35350
35351 public static class AlterServiceOptArgContext extends ParserRuleContext {
35352 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
35353 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
35354 public ContractNameContext contractName() {
35355 return getRuleContext(ContractNameContext.class,0);
35356 }
35357 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
35358 public AlterServiceOptArgContext(ParserRuleContext parent, int invokingState) {
35359 super(parent, invokingState);
35360 }
35361 @Override public int getRuleIndex() { return RULE_alterServiceOptArg; }
35362 @Override
35363 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35364 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterServiceOptArg(this);
35365 else return visitor.visitChildren(this);
35366 }
35367 }
35368
35369 public final AlterServiceOptArgContext alterServiceOptArg() throws RecognitionException {
35370 AlterServiceOptArgContext _localctx = new AlterServiceOptArgContext(_ctx, getState());
35371 enterRule(_localctx, 682, RULE_alterServiceOptArg);
35372 try {
35373 setState(4976);
35374 _errHandler.sync(this);
35375 switch (_input.LA(1)) {
35376 case ADD:
35377 enterOuterAlt(_localctx, 1);
35378 {
35379 setState(4970);
35380 match(ADD);
35381 setState(4971);
35382 match(CONTRACT);
35383 setState(4972);
35384 contractName();
35385 }
35386 break;
35387 case DROP:
35388 enterOuterAlt(_localctx, 2);
35389 {
35390 setState(4973);
35391 match(DROP);
35392 setState(4974);
35393 match(CONTRACT);
35394 setState(4975);
35395 contractName();
35396 }
35397 break;
35398 default:
35399 throw new NoViableAltException(this);
35400 }
35401 }
35402 catch (RecognitionException re) {
35403 _localctx.exception = re;
35404 _errHandler.reportError(this, re);
35405 _errHandler.recover(this, re);
35406 }
35407 finally {
35408 exitRule();
35409 }
35410 return _localctx;
35411 }
35412
35413 public static class SchemaNameClauseContext extends ParserRuleContext {
35414 public SchemaNameContext schemaName() {
35415 return getRuleContext(SchemaNameContext.class,0);
35416 }
35417 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
35418 public IgnoredIdentifierContext ignoredIdentifier() {
35419 return getRuleContext(IgnoredIdentifierContext.class,0);
35420 }
35421 public SchemaNameClauseContext(ParserRuleContext parent, int invokingState) {
35422 super(parent, invokingState);
35423 }
35424 @Override public int getRuleIndex() { return RULE_schemaNameClause; }
35425 @Override
35426 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35427 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaNameClause(this);
35428 else return visitor.visitChildren(this);
35429 }
35430 }
35431
35432 public final SchemaNameClauseContext schemaNameClause() throws RecognitionException {
35433 SchemaNameClauseContext _localctx = new SchemaNameClauseContext(_ctx, getState());
35434 enterRule(_localctx, 684, RULE_schemaNameClause);
35435 try {
35436 setState(4985);
35437 _errHandler.sync(this);
35438 switch ( getInterpreter().adaptivePredict(_input,533,_ctx) ) {
35439 case 1:
35440 enterOuterAlt(_localctx, 1);
35441 {
35442 setState(4978);
35443 schemaName();
35444 }
35445 break;
35446 case 2:
35447 enterOuterAlt(_localctx, 2);
35448 {
35449 setState(4979);
35450 match(AUTHORIZATION);
35451 setState(4980);
35452 ignoredIdentifier();
35453 }
35454 break;
35455 case 3:
35456 enterOuterAlt(_localctx, 3);
35457 {
35458 setState(4981);
35459 schemaName();
35460 setState(4982);
35461 match(AUTHORIZATION);
35462 setState(4983);
35463 ignoredIdentifier();
35464 }
35465 break;
35466 }
35467 }
35468 catch (RecognitionException re) {
35469 _localctx.exception = re;
35470 _errHandler.reportError(this, re);
35471 _errHandler.recover(this, re);
35472 }
35473 finally {
35474 exitRule();
35475 }
35476 return _localctx;
35477 }
35478
35479 public static class SchemaElementContext extends ParserRuleContext {
35480 public CreateTableContext createTable() {
35481 return getRuleContext(CreateTableContext.class,0);
35482 }
35483 public CreateViewContext createView() {
35484 return getRuleContext(CreateViewContext.class,0);
35485 }
35486 public GrantContext grant() {
35487 return getRuleContext(GrantContext.class,0);
35488 }
35489 public RevokeContext revoke() {
35490 return getRuleContext(RevokeContext.class,0);
35491 }
35492 public DenyContext deny() {
35493 return getRuleContext(DenyContext.class,0);
35494 }
35495 public SchemaElementContext(ParserRuleContext parent, int invokingState) {
35496 super(parent, invokingState);
35497 }
35498 @Override public int getRuleIndex() { return RULE_schemaElement; }
35499 @Override
35500 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35501 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaElement(this);
35502 else return visitor.visitChildren(this);
35503 }
35504 }
35505
35506 public final SchemaElementContext schemaElement() throws RecognitionException {
35507 SchemaElementContext _localctx = new SchemaElementContext(_ctx, getState());
35508 enterRule(_localctx, 686, RULE_schemaElement);
35509 try {
35510 setState(4992);
35511 _errHandler.sync(this);
35512 switch ( getInterpreter().adaptivePredict(_input,534,_ctx) ) {
35513 case 1:
35514 enterOuterAlt(_localctx, 1);
35515 {
35516 setState(4987);
35517 createTable();
35518 }
35519 break;
35520 case 2:
35521 enterOuterAlt(_localctx, 2);
35522 {
35523 setState(4988);
35524 createView();
35525 }
35526 break;
35527 case 3:
35528 enterOuterAlt(_localctx, 3);
35529 {
35530 setState(4989);
35531 grant();
35532 }
35533 break;
35534 case 4:
35535 enterOuterAlt(_localctx, 4);
35536 {
35537 setState(4990);
35538 revoke();
35539 }
35540 break;
35541 case 5:
35542 enterOuterAlt(_localctx, 5);
35543 {
35544 setState(4991);
35545 deny();
35546 }
35547 break;
35548 }
35549 }
35550 catch (RecognitionException re) {
35551 _localctx.exception = re;
35552 _errHandler.reportError(this, re);
35553 _errHandler.recover(this, re);
35554 }
35555 finally {
35556 exitRule();
35557 }
35558 return _localctx;
35559 }
35560
35561 public static class CreateTableAsSelectClauseContext extends ParserRuleContext {
35562 public CreateTableAsSelectContext createTableAsSelect() {
35563 return getRuleContext(CreateTableAsSelectContext.class,0);
35564 }
35565 public CreateRemoteTableAsSelectContext createRemoteTableAsSelect() {
35566 return getRuleContext(CreateRemoteTableAsSelectContext.class,0);
35567 }
35568 public CreateTableAsSelectClauseContext(ParserRuleContext parent, int invokingState) {
35569 super(parent, invokingState);
35570 }
35571 @Override public int getRuleIndex() { return RULE_createTableAsSelectClause; }
35572 @Override
35573 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35574 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableAsSelectClause(this);
35575 else return visitor.visitChildren(this);
35576 }
35577 }
35578
35579 public final CreateTableAsSelectClauseContext createTableAsSelectClause() throws RecognitionException {
35580 CreateTableAsSelectClauseContext _localctx = new CreateTableAsSelectClauseContext(_ctx, getState());
35581 enterRule(_localctx, 688, RULE_createTableAsSelectClause);
35582 try {
35583 setState(4996);
35584 _errHandler.sync(this);
35585 switch ( getInterpreter().adaptivePredict(_input,535,_ctx) ) {
35586 case 1:
35587 enterOuterAlt(_localctx, 1);
35588 {
35589 setState(4994);
35590 createTableAsSelect();
35591 }
35592 break;
35593 case 2:
35594 enterOuterAlt(_localctx, 2);
35595 {
35596 setState(4995);
35597 createRemoteTableAsSelect();
35598 }
35599 break;
35600 }
35601 }
35602 catch (RecognitionException re) {
35603 _localctx.exception = re;
35604 _errHandler.reportError(this, re);
35605 _errHandler.recover(this, re);
35606 }
35607 finally {
35608 exitRule();
35609 }
35610 return _localctx;
35611 }
35612
35613 public static class CreateTableAsSelectContext extends ParserRuleContext {
35614 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
35615 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
35616 public TableNameContext tableName() {
35617 return getRuleContext(TableNameContext.class,0);
35618 }
35619 public WithDistributionOptionContext withDistributionOption() {
35620 return getRuleContext(WithDistributionOptionContext.class,0);
35621 }
35622 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
35623 public SelectContext select() {
35624 return getRuleContext(SelectContext.class,0);
35625 }
35626 public OptionQueryHintClauseContext optionQueryHintClause() {
35627 return getRuleContext(OptionQueryHintClauseContext.class,0);
35628 }
35629 public ColumnNamesContext columnNames() {
35630 return getRuleContext(ColumnNamesContext.class,0);
35631 }
35632 public CreateTableAsSelectContext(ParserRuleContext parent, int invokingState) {
35633 super(parent, invokingState);
35634 }
35635 @Override public int getRuleIndex() { return RULE_createTableAsSelect; }
35636 @Override
35637 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35638 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableAsSelect(this);
35639 else return visitor.visitChildren(this);
35640 }
35641 }
35642
35643 public final CreateTableAsSelectContext createTableAsSelect() throws RecognitionException {
35644 CreateTableAsSelectContext _localctx = new CreateTableAsSelectContext(_ctx, getState());
35645 enterRule(_localctx, 690, RULE_createTableAsSelect);
35646 int _la;
35647 try {
35648 enterOuterAlt(_localctx, 1);
35649 {
35650 setState(4998);
35651 match(CREATE);
35652 setState(4999);
35653 match(TABLE);
35654 setState(5000);
35655 tableName();
35656 setState(5002);
35657 _errHandler.sync(this);
35658 _la = _input.LA(1);
35659 if (_la==LP_) {
35660 {
35661 setState(5001);
35662 columnNames();
35663 }
35664 }
35665
35666 setState(5004);
35667 withDistributionOption();
35668 setState(5005);
35669 match(AS);
35670 setState(5006);
35671 select();
35672 setState(5007);
35673 optionQueryHintClause();
35674 }
35675 }
35676 catch (RecognitionException re) {
35677 _localctx.exception = re;
35678 _errHandler.reportError(this, re);
35679 _errHandler.recover(this, re);
35680 }
35681 finally {
35682 exitRule();
35683 }
35684 return _localctx;
35685 }
35686
35687 public static class CreateRemoteTableAsSelectContext extends ParserRuleContext {
35688 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
35689 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
35690 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
35691 public TableNameContext tableName() {
35692 return getRuleContext(TableNameContext.class,0);
35693 }
35694 public TerminalNode AT() { return getToken(SQLServerStatementParser.AT, 0); }
35695 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
35696 public TerminalNode LP_(int i) {
35697 return getToken(SQLServerStatementParser.LP_, i);
35698 }
35699 public StringLiteralsContext stringLiterals() {
35700 return getRuleContext(StringLiteralsContext.class,0);
35701 }
35702 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
35703 public TerminalNode RP_(int i) {
35704 return getToken(SQLServerStatementParser.RP_, i);
35705 }
35706 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
35707 public SelectContext select() {
35708 return getRuleContext(SelectContext.class,0);
35709 }
35710 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
35711 public TerminalNode BATCH_SIZE() { return getToken(SQLServerStatementParser.BATCH_SIZE, 0); }
35712 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
35713 public TerminalNode INT_NUM_() { return getToken(SQLServerStatementParser.INT_NUM_, 0); }
35714 public CreateRemoteTableAsSelectContext(ParserRuleContext parent, int invokingState) {
35715 super(parent, invokingState);
35716 }
35717 @Override public int getRuleIndex() { return RULE_createRemoteTableAsSelect; }
35718 @Override
35719 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35720 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateRemoteTableAsSelect(this);
35721 else return visitor.visitChildren(this);
35722 }
35723 }
35724
35725 public final CreateRemoteTableAsSelectContext createRemoteTableAsSelect() throws RecognitionException {
35726 CreateRemoteTableAsSelectContext _localctx = new CreateRemoteTableAsSelectContext(_ctx, getState());
35727 enterRule(_localctx, 692, RULE_createRemoteTableAsSelect);
35728 int _la;
35729 try {
35730 enterOuterAlt(_localctx, 1);
35731 {
35732 setState(5009);
35733 match(CREATE);
35734 setState(5010);
35735 match(REMOTE);
35736 setState(5011);
35737 match(TABLE);
35738 setState(5012);
35739 tableName();
35740 setState(5013);
35741 match(AT);
35742 setState(5014);
35743 match(LP_);
35744 setState(5015);
35745 stringLiterals();
35746 setState(5016);
35747 match(RP_);
35748 setState(5023);
35749 _errHandler.sync(this);
35750 _la = _input.LA(1);
35751 if (_la==WITH) {
35752 {
35753 setState(5017);
35754 match(WITH);
35755 setState(5018);
35756 match(LP_);
35757 setState(5019);
35758 match(BATCH_SIZE);
35759 setState(5020);
35760 match(EQ_);
35761 setState(5021);
35762 match(INT_NUM_);
35763 setState(5022);
35764 match(RP_);
35765 }
35766 }
35767
35768 setState(5025);
35769 match(AS);
35770 setState(5026);
35771 select();
35772 }
35773 }
35774 catch (RecognitionException re) {
35775 _localctx.exception = re;
35776 _errHandler.reportError(this, re);
35777 _errHandler.recover(this, re);
35778 }
35779 finally {
35780 exitRule();
35781 }
35782 return _localctx;
35783 }
35784
35785 public static class WithDistributionOptionContext extends ParserRuleContext {
35786 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
35787 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
35788 public DistributionOptionContext distributionOption() {
35789 return getRuleContext(DistributionOptionContext.class,0);
35790 }
35791 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
35792 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
35793 public TerminalNode COMMA_(int i) {
35794 return getToken(SQLServerStatementParser.COMMA_, i);
35795 }
35796 public List<TableOptionContext> tableOption() {
35797 return getRuleContexts(TableOptionContext.class);
35798 }
35799 public TableOptionContext tableOption(int i) {
35800 return getRuleContext(TableOptionContext.class,i);
35801 }
35802 public WithDistributionOptionContext(ParserRuleContext parent, int invokingState) {
35803 super(parent, invokingState);
35804 }
35805 @Override public int getRuleIndex() { return RULE_withDistributionOption; }
35806 @Override
35807 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35808 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithDistributionOption(this);
35809 else return visitor.visitChildren(this);
35810 }
35811 }
35812
35813 public final WithDistributionOptionContext withDistributionOption() throws RecognitionException {
35814 WithDistributionOptionContext _localctx = new WithDistributionOptionContext(_ctx, getState());
35815 enterRule(_localctx, 694, RULE_withDistributionOption);
35816 int _la;
35817 try {
35818 enterOuterAlt(_localctx, 1);
35819 {
35820 setState(5028);
35821 match(WITH);
35822 setState(5029);
35823 match(LP_);
35824 setState(5030);
35825 distributionOption();
35826 setState(5040);
35827 _errHandler.sync(this);
35828 _la = _input.LA(1);
35829 if (_la==COMMA_) {
35830 {
35831 setState(5031);
35832 match(COMMA_);
35833 setState(5032);
35834 tableOption();
35835 setState(5037);
35836 _errHandler.sync(this);
35837 _la = _input.LA(1);
35838 while (_la==COMMA_) {
35839 {
35840 {
35841 setState(5033);
35842 match(COMMA_);
35843 setState(5034);
35844 tableOption();
35845 }
35846 }
35847 setState(5039);
35848 _errHandler.sync(this);
35849 _la = _input.LA(1);
35850 }
35851 }
35852 }
35853
35854 setState(5042);
35855 match(RP_);
35856 }
35857 }
35858 catch (RecognitionException re) {
35859 _localctx.exception = re;
35860 _errHandler.reportError(this, re);
35861 _errHandler.recover(this, re);
35862 }
35863 finally {
35864 exitRule();
35865 }
35866 return _localctx;
35867 }
35868
35869 public static class OptionQueryHintClauseContext extends ParserRuleContext {
35870 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
35871 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
35872 public List<QueryHintContext> queryHint() {
35873 return getRuleContexts(QueryHintContext.class);
35874 }
35875 public QueryHintContext queryHint(int i) {
35876 return getRuleContext(QueryHintContext.class,i);
35877 }
35878 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
35879 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
35880 public TerminalNode COMMA_(int i) {
35881 return getToken(SQLServerStatementParser.COMMA_, i);
35882 }
35883 public OptionQueryHintClauseContext(ParserRuleContext parent, int invokingState) {
35884 super(parent, invokingState);
35885 }
35886 @Override public int getRuleIndex() { return RULE_optionQueryHintClause; }
35887 @Override
35888 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35889 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOptionQueryHintClause(this);
35890 else return visitor.visitChildren(this);
35891 }
35892 }
35893
35894 public final OptionQueryHintClauseContext optionQueryHintClause() throws RecognitionException {
35895 OptionQueryHintClauseContext _localctx = new OptionQueryHintClauseContext(_ctx, getState());
35896 enterRule(_localctx, 696, RULE_optionQueryHintClause);
35897 int _la;
35898 try {
35899 enterOuterAlt(_localctx, 1);
35900 {
35901 setState(5056);
35902 _errHandler.sync(this);
35903 _la = _input.LA(1);
35904 if (_la==OPTION) {
35905 {
35906 setState(5044);
35907 match(OPTION);
35908 setState(5045);
35909 match(LP_);
35910 setState(5046);
35911 queryHint();
35912 setState(5051);
35913 _errHandler.sync(this);
35914 _la = _input.LA(1);
35915 while (_la==COMMA_) {
35916 {
35917 {
35918 setState(5047);
35919 match(COMMA_);
35920 setState(5048);
35921 queryHint();
35922 }
35923 }
35924 setState(5053);
35925 _errHandler.sync(this);
35926 _la = _input.LA(1);
35927 }
35928 setState(5054);
35929 match(RP_);
35930 }
35931 }
35932
35933 }
35934 }
35935 catch (RecognitionException re) {
35936 _localctx.exception = re;
35937 _errHandler.reportError(this, re);
35938 _errHandler.recover(this, re);
35939 }
35940 finally {
35941 exitRule();
35942 }
35943 return _localctx;
35944 }
35945
35946 public static class InsertContext extends ParserRuleContext {
35947 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
35948 public TableNameContext tableName() {
35949 return getRuleContext(TableNameContext.class,0);
35950 }
35951 public InsertDefaultValueContext insertDefaultValue() {
35952 return getRuleContext(InsertDefaultValueContext.class,0);
35953 }
35954 public InsertValuesClauseContext insertValuesClause() {
35955 return getRuleContext(InsertValuesClauseContext.class,0);
35956 }
35957 public InsertSelectClauseContext insertSelectClause() {
35958 return getRuleContext(InsertSelectClauseContext.class,0);
35959 }
35960 public InsertExecClauseContext insertExecClause() {
35961 return getRuleContext(InsertExecClauseContext.class,0);
35962 }
35963 public WithClauseContext withClause() {
35964 return getRuleContext(WithClauseContext.class,0);
35965 }
35966 public TopContext top() {
35967 return getRuleContext(TopContext.class,0);
35968 }
35969 public TerminalNode INTO() { return getToken(SQLServerStatementParser.INTO, 0); }
35970 public AliasContext alias() {
35971 return getRuleContext(AliasContext.class,0);
35972 }
35973 public WithTableHintContext withTableHint() {
35974 return getRuleContext(WithTableHintContext.class,0);
35975 }
35976 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
35977 public InsertContext(ParserRuleContext parent, int invokingState) {
35978 super(parent, invokingState);
35979 }
35980 @Override public int getRuleIndex() { return RULE_insert; }
35981 @Override
35982 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35983 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsert(this);
35984 else return visitor.visitChildren(this);
35985 }
35986 }
35987
35988 public final InsertContext insert() throws RecognitionException {
35989 InsertContext _localctx = new InsertContext(_ctx, getState());
35990 enterRule(_localctx, 698, RULE_insert);
35991 int _la;
35992 try {
35993 enterOuterAlt(_localctx, 1);
35994 {
35995 setState(5059);
35996 _errHandler.sync(this);
35997 _la = _input.LA(1);
35998 if (_la==WITH) {
35999 {
36000 setState(5058);
36001 withClause();
36002 }
36003 }
36004
36005 setState(5061);
36006 match(INSERT);
36007 setState(5063);
36008 _errHandler.sync(this);
36009 switch ( getInterpreter().adaptivePredict(_input,543,_ctx) ) {
36010 case 1:
36011 {
36012 setState(5062);
36013 top();
36014 }
36015 break;
36016 }
36017 setState(5066);
36018 _errHandler.sync(this);
36019 _la = _input.LA(1);
36020 if (_la==INTO) {
36021 {
36022 setState(5065);
36023 match(INTO);
36024 }
36025 }
36026
36027 setState(5068);
36028 tableName();
36029 setState(5073);
36030 _errHandler.sync(this);
36031 switch ( getInterpreter().adaptivePredict(_input,546,_ctx) ) {
36032 case 1:
36033 {
36034 setState(5070);
36035 _errHandler.sync(this);
36036 _la = _input.LA(1);
36037 if (_la==AS) {
36038 {
36039 setState(5069);
36040 match(AS);
36041 }
36042 }
36043
36044 setState(5072);
36045 alias();
36046 }
36047 break;
36048 }
36049 setState(5076);
36050 _errHandler.sync(this);
36051 switch ( getInterpreter().adaptivePredict(_input,547,_ctx) ) {
36052 case 1:
36053 {
36054 setState(5075);
36055 withTableHint();
36056 }
36057 break;
36058 }
36059 setState(5082);
36060 _errHandler.sync(this);
36061 switch ( getInterpreter().adaptivePredict(_input,548,_ctx) ) {
36062 case 1:
36063 {
36064 setState(5078);
36065 insertDefaultValue();
36066 }
36067 break;
36068 case 2:
36069 {
36070 setState(5079);
36071 insertValuesClause();
36072 }
36073 break;
36074 case 3:
36075 {
36076 setState(5080);
36077 insertSelectClause();
36078 }
36079 break;
36080 case 4:
36081 {
36082 setState(5081);
36083 insertExecClause();
36084 }
36085 break;
36086 }
36087 }
36088 }
36089 catch (RecognitionException re) {
36090 _localctx.exception = re;
36091 _errHandler.reportError(this, re);
36092 _errHandler.recover(this, re);
36093 }
36094 finally {
36095 exitRule();
36096 }
36097 return _localctx;
36098 }
36099
36100 public static class InsertDefaultValueContext extends ParserRuleContext {
36101 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
36102 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
36103 public ColumnNamesContext columnNames() {
36104 return getRuleContext(ColumnNamesContext.class,0);
36105 }
36106 public OutputClauseContext outputClause() {
36107 return getRuleContext(OutputClauseContext.class,0);
36108 }
36109 public InsertDefaultValueContext(ParserRuleContext parent, int invokingState) {
36110 super(parent, invokingState);
36111 }
36112 @Override public int getRuleIndex() { return RULE_insertDefaultValue; }
36113 @Override
36114 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36115 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertDefaultValue(this);
36116 else return visitor.visitChildren(this);
36117 }
36118 }
36119
36120 public final InsertDefaultValueContext insertDefaultValue() throws RecognitionException {
36121 InsertDefaultValueContext _localctx = new InsertDefaultValueContext(_ctx, getState());
36122 enterRule(_localctx, 700, RULE_insertDefaultValue);
36123 int _la;
36124 try {
36125 enterOuterAlt(_localctx, 1);
36126 {
36127 setState(5085);
36128 _errHandler.sync(this);
36129 _la = _input.LA(1);
36130 if (_la==LP_) {
36131 {
36132 setState(5084);
36133 columnNames();
36134 }
36135 }
36136
36137 setState(5088);
36138 _errHandler.sync(this);
36139 _la = _input.LA(1);
36140 if (_la==OUTPUT) {
36141 {
36142 setState(5087);
36143 outputClause();
36144 }
36145 }
36146
36147 setState(5090);
36148 match(DEFAULT);
36149 setState(5091);
36150 match(VALUES);
36151 }
36152 }
36153 catch (RecognitionException re) {
36154 _localctx.exception = re;
36155 _errHandler.reportError(this, re);
36156 _errHandler.recover(this, re);
36157 }
36158 finally {
36159 exitRule();
36160 }
36161 return _localctx;
36162 }
36163
36164 public static class InsertValuesClauseContext extends ParserRuleContext {
36165 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
36166 public List<AssignmentValuesContext> assignmentValues() {
36167 return getRuleContexts(AssignmentValuesContext.class);
36168 }
36169 public AssignmentValuesContext assignmentValues(int i) {
36170 return getRuleContext(AssignmentValuesContext.class,i);
36171 }
36172 public ColumnNamesContext columnNames() {
36173 return getRuleContext(ColumnNamesContext.class,0);
36174 }
36175 public OutputClauseContext outputClause() {
36176 return getRuleContext(OutputClauseContext.class,0);
36177 }
36178 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
36179 public TerminalNode COMMA_(int i) {
36180 return getToken(SQLServerStatementParser.COMMA_, i);
36181 }
36182 public InsertValuesClauseContext(ParserRuleContext parent, int invokingState) {
36183 super(parent, invokingState);
36184 }
36185 @Override public int getRuleIndex() { return RULE_insertValuesClause; }
36186 @Override
36187 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36188 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertValuesClause(this);
36189 else return visitor.visitChildren(this);
36190 }
36191 }
36192
36193 public final InsertValuesClauseContext insertValuesClause() throws RecognitionException {
36194 InsertValuesClauseContext _localctx = new InsertValuesClauseContext(_ctx, getState());
36195 enterRule(_localctx, 702, RULE_insertValuesClause);
36196 int _la;
36197 try {
36198 enterOuterAlt(_localctx, 1);
36199 {
36200 setState(5094);
36201 _errHandler.sync(this);
36202 _la = _input.LA(1);
36203 if (_la==LP_) {
36204 {
36205 setState(5093);
36206 columnNames();
36207 }
36208 }
36209
36210 setState(5097);
36211 _errHandler.sync(this);
36212 _la = _input.LA(1);
36213 if (_la==OUTPUT) {
36214 {
36215 setState(5096);
36216 outputClause();
36217 }
36218 }
36219
36220 setState(5099);
36221 match(VALUES);
36222 setState(5100);
36223 assignmentValues();
36224 setState(5105);
36225 _errHandler.sync(this);
36226 _la = _input.LA(1);
36227 while (_la==COMMA_) {
36228 {
36229 {
36230 setState(5101);
36231 match(COMMA_);
36232 setState(5102);
36233 assignmentValues();
36234 }
36235 }
36236 setState(5107);
36237 _errHandler.sync(this);
36238 _la = _input.LA(1);
36239 }
36240 }
36241 }
36242 catch (RecognitionException re) {
36243 _localctx.exception = re;
36244 _errHandler.reportError(this, re);
36245 _errHandler.recover(this, re);
36246 }
36247 finally {
36248 exitRule();
36249 }
36250 return _localctx;
36251 }
36252
36253 public static class InsertSelectClauseContext extends ParserRuleContext {
36254 public SelectContext select() {
36255 return getRuleContext(SelectContext.class,0);
36256 }
36257 public ColumnNamesContext columnNames() {
36258 return getRuleContext(ColumnNamesContext.class,0);
36259 }
36260 public OutputClauseContext outputClause() {
36261 return getRuleContext(OutputClauseContext.class,0);
36262 }
36263 public InsertSelectClauseContext(ParserRuleContext parent, int invokingState) {
36264 super(parent, invokingState);
36265 }
36266 @Override public int getRuleIndex() { return RULE_insertSelectClause; }
36267 @Override
36268 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36269 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertSelectClause(this);
36270 else return visitor.visitChildren(this);
36271 }
36272 }
36273
36274 public final InsertSelectClauseContext insertSelectClause() throws RecognitionException {
36275 InsertSelectClauseContext _localctx = new InsertSelectClauseContext(_ctx, getState());
36276 enterRule(_localctx, 704, RULE_insertSelectClause);
36277 int _la;
36278 try {
36279 enterOuterAlt(_localctx, 1);
36280 {
36281 setState(5109);
36282 _errHandler.sync(this);
36283 _la = _input.LA(1);
36284 if (_la==LP_) {
36285 {
36286 setState(5108);
36287 columnNames();
36288 }
36289 }
36290
36291 setState(5112);
36292 _errHandler.sync(this);
36293 _la = _input.LA(1);
36294 if (_la==OUTPUT) {
36295 {
36296 setState(5111);
36297 outputClause();
36298 }
36299 }
36300
36301 setState(5114);
36302 select();
36303 }
36304 }
36305 catch (RecognitionException re) {
36306 _localctx.exception = re;
36307 _errHandler.reportError(this, re);
36308 _errHandler.recover(this, re);
36309 }
36310 finally {
36311 exitRule();
36312 }
36313 return _localctx;
36314 }
36315
36316 public static class InsertExecClauseContext extends ParserRuleContext {
36317 public ExecContext exec() {
36318 return getRuleContext(ExecContext.class,0);
36319 }
36320 public ColumnNamesContext columnNames() {
36321 return getRuleContext(ColumnNamesContext.class,0);
36322 }
36323 public InsertExecClauseContext(ParserRuleContext parent, int invokingState) {
36324 super(parent, invokingState);
36325 }
36326 @Override public int getRuleIndex() { return RULE_insertExecClause; }
36327 @Override
36328 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36329 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertExecClause(this);
36330 else return visitor.visitChildren(this);
36331 }
36332 }
36333
36334 public final InsertExecClauseContext insertExecClause() throws RecognitionException {
36335 InsertExecClauseContext _localctx = new InsertExecClauseContext(_ctx, getState());
36336 enterRule(_localctx, 706, RULE_insertExecClause);
36337 int _la;
36338 try {
36339 enterOuterAlt(_localctx, 1);
36340 {
36341 setState(5117);
36342 _errHandler.sync(this);
36343 _la = _input.LA(1);
36344 if (_la==LP_) {
36345 {
36346 setState(5116);
36347 columnNames();
36348 }
36349 }
36350
36351 setState(5119);
36352 exec();
36353 }
36354 }
36355 catch (RecognitionException re) {
36356 _localctx.exception = re;
36357 _errHandler.reportError(this, re);
36358 _errHandler.recover(this, re);
36359 }
36360 finally {
36361 exitRule();
36362 }
36363 return _localctx;
36364 }
36365
36366 public static class WithTableHintContext extends ParserRuleContext {
36367 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
36368 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
36369 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
36370 public List<TableHintLimitedContext> tableHintLimited() {
36371 return getRuleContexts(TableHintLimitedContext.class);
36372 }
36373 public TableHintLimitedContext tableHintLimited(int i) {
36374 return getRuleContext(TableHintLimitedContext.class,i);
36375 }
36376 public WithTableHintContext(ParserRuleContext parent, int invokingState) {
36377 super(parent, invokingState);
36378 }
36379 @Override public int getRuleIndex() { return RULE_withTableHint; }
36380 @Override
36381 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36382 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithTableHint(this);
36383 else return visitor.visitChildren(this);
36384 }
36385 }
36386
36387 public final WithTableHintContext withTableHint() throws RecognitionException {
36388 WithTableHintContext _localctx = new WithTableHintContext(_ctx, getState());
36389 enterRule(_localctx, 708, RULE_withTableHint);
36390 int _la;
36391 try {
36392 enterOuterAlt(_localctx, 1);
36393 {
36394 setState(5121);
36395 match(WITH);
36396 setState(5122);
36397 match(LP_);
36398 {
36399 setState(5124);
36400 _errHandler.sync(this);
36401 _la = _input.LA(1);
36402 do {
36403 {
36404 {
36405 setState(5123);
36406 tableHintLimited();
36407 }
36408 }
36409 setState(5126);
36410 _errHandler.sync(this);
36411 _la = _input.LA(1);
36412 } while ( ((((_la - 216)) & ~0x3f) == 0 && ((1L << (_la - 216)) & ((1L << (KEEPIDENTITY - 216)) | (1L << (KEEPDEFAULTS - 216)) | (1L << (HOLDLOCK - 216)) | (1L << (IGNORE_CONSTRAINTS - 216)) | (1L << (IGNORE_TRIGGERS - 216)) | (1L << (NOLOCK - 216)) | (1L << (NOWAIT - 216)) | (1L << (PAGLOCK - 216)) | (1L << (READCOMMITTED - 216)) | (1L << (READCOMMITTEDLOCK - 216)) | (1L << (READPAST - 216)) | (1L << (REPEATABLEREAD - 216)) | (1L << (ROWLOCK - 216)) | (1L << (TABLOCK - 216)) | (1L << (TABLOCKX - 216)) | (1L << (UPDLOCK - 216)) | (1L << (XLOCK - 216)))) != 0) || _la==SNAPSHOT || _la==SERIALIZABLE );
36413 }
36414 setState(5128);
36415 match(RP_);
36416 }
36417 }
36418 catch (RecognitionException re) {
36419 _localctx.exception = re;
36420 _errHandler.reportError(this, re);
36421 _errHandler.recover(this, re);
36422 }
36423 finally {
36424 exitRule();
36425 }
36426 return _localctx;
36427 }
36428
36429 public static class ExecContext extends ParserRuleContext {
36430 public ProcedureNameContext procedureName() {
36431 return getRuleContext(ProcedureNameContext.class,0);
36432 }
36433 public TerminalNode EXEC() { return getToken(SQLServerStatementParser.EXEC, 0); }
36434 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
36435 public List<ExprContext> expr() {
36436 return getRuleContexts(ExprContext.class);
36437 }
36438 public ExprContext expr(int i) {
36439 return getRuleContext(ExprContext.class,i);
36440 }
36441 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
36442 public TerminalNode COMMA_(int i) {
36443 return getToken(SQLServerStatementParser.COMMA_, i);
36444 }
36445 public ExecContext(ParserRuleContext parent, int invokingState) {
36446 super(parent, invokingState);
36447 }
36448 @Override public int getRuleIndex() { return RULE_exec; }
36449 @Override
36450 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36451 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExec(this);
36452 else return visitor.visitChildren(this);
36453 }
36454 }
36455
36456 public final ExecContext exec() throws RecognitionException {
36457 ExecContext _localctx = new ExecContext(_ctx, getState());
36458 enterRule(_localctx, 710, RULE_exec);
36459 int _la;
36460 try {
36461 enterOuterAlt(_localctx, 1);
36462 {
36463 setState(5130);
36464 _la = _input.LA(1);
36465 if ( !(_la==EXECUTE || _la==EXEC) ) {
36466 _errHandler.recoverInline(this);
36467 }
36468 else {
36469 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
36470 _errHandler.reportMatch(this);
36471 consume();
36472 }
36473 setState(5131);
36474 procedureName();
36475 setState(5140);
36476 _errHandler.sync(this);
36477 switch ( getInterpreter().adaptivePredict(_input,559,_ctx) ) {
36478 case 1:
36479 {
36480 setState(5132);
36481 expr(0);
36482 setState(5137);
36483 _errHandler.sync(this);
36484 _la = _input.LA(1);
36485 while (_la==COMMA_) {
36486 {
36487 {
36488 setState(5133);
36489 match(COMMA_);
36490 setState(5134);
36491 expr(0);
36492 }
36493 }
36494 setState(5139);
36495 _errHandler.sync(this);
36496 _la = _input.LA(1);
36497 }
36498 }
36499 break;
36500 }
36501 }
36502 }
36503 catch (RecognitionException re) {
36504 _localctx.exception = re;
36505 _errHandler.reportError(this, re);
36506 _errHandler.recover(this, re);
36507 }
36508 finally {
36509 exitRule();
36510 }
36511 return _localctx;
36512 }
36513
36514 public static class UpdateContext extends ParserRuleContext {
36515 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
36516 public TableReferencesContext tableReferences() {
36517 return getRuleContext(TableReferencesContext.class,0);
36518 }
36519 public SetAssignmentsClauseContext setAssignmentsClause() {
36520 return getRuleContext(SetAssignmentsClauseContext.class,0);
36521 }
36522 public WithClauseContext withClause() {
36523 return getRuleContext(WithClauseContext.class,0);
36524 }
36525 public TopContext top() {
36526 return getRuleContext(TopContext.class,0);
36527 }
36528 public WithTableHintContext withTableHint() {
36529 return getRuleContext(WithTableHintContext.class,0);
36530 }
36531 public WhereClauseContext whereClause() {
36532 return getRuleContext(WhereClauseContext.class,0);
36533 }
36534 public OptionHintContext optionHint() {
36535 return getRuleContext(OptionHintContext.class,0);
36536 }
36537 public UpdateContext(ParserRuleContext parent, int invokingState) {
36538 super(parent, invokingState);
36539 }
36540 @Override public int getRuleIndex() { return RULE_update; }
36541 @Override
36542 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36543 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUpdate(this);
36544 else return visitor.visitChildren(this);
36545 }
36546 }
36547
36548 public final UpdateContext update() throws RecognitionException {
36549 UpdateContext _localctx = new UpdateContext(_ctx, getState());
36550 enterRule(_localctx, 712, RULE_update);
36551 int _la;
36552 try {
36553 enterOuterAlt(_localctx, 1);
36554 {
36555 setState(5143);
36556 _errHandler.sync(this);
36557 _la = _input.LA(1);
36558 if (_la==WITH) {
36559 {
36560 setState(5142);
36561 withClause();
36562 }
36563 }
36564
36565 setState(5145);
36566 match(UPDATE);
36567 setState(5147);
36568 _errHandler.sync(this);
36569 switch ( getInterpreter().adaptivePredict(_input,561,_ctx) ) {
36570 case 1:
36571 {
36572 setState(5146);
36573 top();
36574 }
36575 break;
36576 }
36577 setState(5149);
36578 tableReferences();
36579 setState(5151);
36580 _errHandler.sync(this);
36581 _la = _input.LA(1);
36582 if (_la==WITH) {
36583 {
36584 setState(5150);
36585 withTableHint();
36586 }
36587 }
36588
36589 setState(5153);
36590 setAssignmentsClause();
36591 setState(5155);
36592 _errHandler.sync(this);
36593 _la = _input.LA(1);
36594 if (_la==WHERE) {
36595 {
36596 setState(5154);
36597 whereClause();
36598 }
36599 }
36600
36601 setState(5158);
36602 _errHandler.sync(this);
36603 _la = _input.LA(1);
36604 if (_la==OPTION) {
36605 {
36606 setState(5157);
36607 optionHint();
36608 }
36609 }
36610
36611 }
36612 }
36613 catch (RecognitionException re) {
36614 _localctx.exception = re;
36615 _errHandler.reportError(this, re);
36616 _errHandler.recover(this, re);
36617 }
36618 finally {
36619 exitRule();
36620 }
36621 return _localctx;
36622 }
36623
36624 public static class AssignmentContext extends ParserRuleContext {
36625 public ColumnNameContext columnName() {
36626 return getRuleContext(ColumnNameContext.class,0);
36627 }
36628 public AssignmentValueContext assignmentValue() {
36629 return getRuleContext(AssignmentValueContext.class,0);
36630 }
36631 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
36632 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
36633 public AssignmentContext(ParserRuleContext parent, int invokingState) {
36634 super(parent, invokingState);
36635 }
36636 @Override public int getRuleIndex() { return RULE_assignment; }
36637 @Override
36638 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36639 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssignment(this);
36640 else return visitor.visitChildren(this);
36641 }
36642 }
36643
36644 public final AssignmentContext assignment() throws RecognitionException {
36645 AssignmentContext _localctx = new AssignmentContext(_ctx, getState());
36646 enterRule(_localctx, 714, RULE_assignment);
36647 int _la;
36648 try {
36649 enterOuterAlt(_localctx, 1);
36650 {
36651 setState(5160);
36652 columnName();
36653 setState(5161);
36654 _la = _input.LA(1);
36655 if ( !(_la==DOT_ || _la==EQ_) ) {
36656 _errHandler.recoverInline(this);
36657 }
36658 else {
36659 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
36660 _errHandler.reportMatch(this);
36661 consume();
36662 }
36663 setState(5162);
36664 assignmentValue();
36665 }
36666 }
36667 catch (RecognitionException re) {
36668 _localctx.exception = re;
36669 _errHandler.reportError(this, re);
36670 _errHandler.recover(this, re);
36671 }
36672 finally {
36673 exitRule();
36674 }
36675 return _localctx;
36676 }
36677
36678 public static class SetAssignmentsClauseContext extends ParserRuleContext {
36679 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
36680 public List<AssignmentContext> assignment() {
36681 return getRuleContexts(AssignmentContext.class);
36682 }
36683 public AssignmentContext assignment(int i) {
36684 return getRuleContext(AssignmentContext.class,i);
36685 }
36686 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
36687 public TerminalNode COMMA_(int i) {
36688 return getToken(SQLServerStatementParser.COMMA_, i);
36689 }
36690 public FromClauseContext fromClause() {
36691 return getRuleContext(FromClauseContext.class,0);
36692 }
36693 public SetAssignmentsClauseContext(ParserRuleContext parent, int invokingState) {
36694 super(parent, invokingState);
36695 }
36696 @Override public int getRuleIndex() { return RULE_setAssignmentsClause; }
36697 @Override
36698 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36699 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetAssignmentsClause(this);
36700 else return visitor.visitChildren(this);
36701 }
36702 }
36703
36704 public final SetAssignmentsClauseContext setAssignmentsClause() throws RecognitionException {
36705 SetAssignmentsClauseContext _localctx = new SetAssignmentsClauseContext(_ctx, getState());
36706 enterRule(_localctx, 716, RULE_setAssignmentsClause);
36707 int _la;
36708 try {
36709 enterOuterAlt(_localctx, 1);
36710 {
36711 setState(5164);
36712 match(SET);
36713 setState(5165);
36714 assignment();
36715 setState(5170);
36716 _errHandler.sync(this);
36717 _la = _input.LA(1);
36718 while (_la==COMMA_) {
36719 {
36720 {
36721 setState(5166);
36722 match(COMMA_);
36723 setState(5167);
36724 assignment();
36725 }
36726 }
36727 setState(5172);
36728 _errHandler.sync(this);
36729 _la = _input.LA(1);
36730 }
36731 setState(5174);
36732 _errHandler.sync(this);
36733 _la = _input.LA(1);
36734 if (_la==FROM) {
36735 {
36736 setState(5173);
36737 fromClause();
36738 }
36739 }
36740
36741 }
36742 }
36743 catch (RecognitionException re) {
36744 _localctx.exception = re;
36745 _errHandler.reportError(this, re);
36746 _errHandler.recover(this, re);
36747 }
36748 finally {
36749 exitRule();
36750 }
36751 return _localctx;
36752 }
36753
36754 public static class AssignmentValuesContext extends ParserRuleContext {
36755 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
36756 public List<AssignmentValueContext> assignmentValue() {
36757 return getRuleContexts(AssignmentValueContext.class);
36758 }
36759 public AssignmentValueContext assignmentValue(int i) {
36760 return getRuleContext(AssignmentValueContext.class,i);
36761 }
36762 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
36763 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
36764 public TerminalNode COMMA_(int i) {
36765 return getToken(SQLServerStatementParser.COMMA_, i);
36766 }
36767 public AssignmentValuesContext(ParserRuleContext parent, int invokingState) {
36768 super(parent, invokingState);
36769 }
36770 @Override public int getRuleIndex() { return RULE_assignmentValues; }
36771 @Override
36772 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36773 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssignmentValues(this);
36774 else return visitor.visitChildren(this);
36775 }
36776 }
36777
36778 public final AssignmentValuesContext assignmentValues() throws RecognitionException {
36779 AssignmentValuesContext _localctx = new AssignmentValuesContext(_ctx, getState());
36780 enterRule(_localctx, 718, RULE_assignmentValues);
36781 int _la;
36782 try {
36783 setState(5189);
36784 _errHandler.sync(this);
36785 switch ( getInterpreter().adaptivePredict(_input,568,_ctx) ) {
36786 case 1:
36787 enterOuterAlt(_localctx, 1);
36788 {
36789 setState(5176);
36790 match(LP_);
36791 setState(5177);
36792 assignmentValue();
36793 setState(5182);
36794 _errHandler.sync(this);
36795 _la = _input.LA(1);
36796 while (_la==COMMA_) {
36797 {
36798 {
36799 setState(5178);
36800 match(COMMA_);
36801 setState(5179);
36802 assignmentValue();
36803 }
36804 }
36805 setState(5184);
36806 _errHandler.sync(this);
36807 _la = _input.LA(1);
36808 }
36809 setState(5185);
36810 match(RP_);
36811 }
36812 break;
36813 case 2:
36814 enterOuterAlt(_localctx, 2);
36815 {
36816 setState(5187);
36817 match(LP_);
36818 setState(5188);
36819 match(RP_);
36820 }
36821 break;
36822 }
36823 }
36824 catch (RecognitionException re) {
36825 _localctx.exception = re;
36826 _errHandler.reportError(this, re);
36827 _errHandler.recover(this, re);
36828 }
36829 finally {
36830 exitRule();
36831 }
36832 return _localctx;
36833 }
36834
36835 public static class AssignmentValueContext extends ParserRuleContext {
36836 public ExprContext expr() {
36837 return getRuleContext(ExprContext.class,0);
36838 }
36839 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
36840 public AssignmentValueContext(ParserRuleContext parent, int invokingState) {
36841 super(parent, invokingState);
36842 }
36843 @Override public int getRuleIndex() { return RULE_assignmentValue; }
36844 @Override
36845 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36846 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssignmentValue(this);
36847 else return visitor.visitChildren(this);
36848 }
36849 }
36850
36851 public final AssignmentValueContext assignmentValue() throws RecognitionException {
36852 AssignmentValueContext _localctx = new AssignmentValueContext(_ctx, getState());
36853 enterRule(_localctx, 720, RULE_assignmentValue);
36854 try {
36855 setState(5193);
36856 _errHandler.sync(this);
36857 switch (_input.LA(1)) {
36858 case NOT_:
36859 case TILDE_:
36860 case PLUS_:
36861 case MINUS_:
36862 case LP_:
36863 case LBE_:
36864 case QUESTION_:
36865 case DOLLAR_:
36866 case TRUNCATE:
36867 case SCHEMA:
36868 case COLUMNS:
36869 case PRECISION:
36870 case FUNCTION:
36871 case TRIGGER:
36872 case CASE:
36873 case CAST:
36874 case TRIM:
36875 case SUBSTRING:
36876 case OFF:
36877 case IF:
36878 case NOT:
36879 case NULL:
36880 case TRUE:
36881 case FALSE:
36882 case EXISTS:
36883 case GROUP:
36884 case LIMIT:
36885 case OFFSET:
36886 case SAVEPOINT:
36887 case BOOLEAN:
36888 case CHAR:
36889 case ARRAY:
36890 case INTERVAL:
36891 case DATE:
36892 case TIME:
36893 case TIMESTAMP:
36894 case LOCALTIME:
36895 case LOCALTIMESTAMP:
36896 case YEAR:
36897 case QUARTER:
36898 case MONTH:
36899 case WEEK:
36900 case DAY:
36901 case SECOND:
36902 case MICROSECOND:
36903 case MAX:
36904 case MIN:
36905 case SUM:
36906 case COUNT:
36907 case AVG:
36908 case ENABLE:
36909 case DISABLE:
36910 case INSTANCE:
36911 case DO:
36912 case DEFINER:
36913 case SQL:
36914 case CASCADED:
36915 case LOCAL:
36916 case NEXT:
36917 case NAME:
36918 case INTEGER:
36919 case TYPE:
36920 case TEXT:
36921 case VIEWS:
36922 case READ_ONLY:
36923 case DATABASE:
36924 case RETURNS:
36925 case DATEPART:
36926 case PASSWORD:
36927 case JSON_OBJECT:
36928 case JSON_ARRAY:
36929 case FIRST_VALUE:
36930 case LAST_VALUE:
36931 case APPROX_PERCENTILE_CONT:
36932 case APPROX_PERCENTILE_DISC:
36933 case BINARY:
36934 case HIDDEN_:
36935 case MOD:
36936 case PARTITION:
36937 case PARTITIONS:
36938 case TOP:
36939 case ROW:
36940 case ROWS:
36941 case XOR:
36942 case ALWAYS:
36943 case ROLE:
36944 case START:
36945 case ALGORITHM:
36946 case AUTO:
36947 case BLOCKERS:
36948 case CLUSTERED:
36949 case NONCLUSTERED:
36950 case COLUMNSTORE:
36951 case CONTENT:
36952 case CONVERT:
36953 case YEARS:
36954 case MONTHS:
36955 case WEEKS:
36956 case DAYS:
36957 case MINUTES:
36958 case DENY:
36959 case DETERMINISTIC:
36960 case DISTRIBUTION:
36961 case DOCUMENT:
36962 case DURABILITY:
36963 case ENCRYPTED:
36964 case FILESTREAM:
36965 case FILETABLE:
36966 case FILLFACTOR:
36967 case FOLLOWING:
36968 case HASH:
36969 case HEAP:
36970 case INBOUND:
36971 case OUTBOUND:
36972 case UNBOUNDED:
36973 case INFINITE:
36974 case LOGIN:
36975 case MASKED:
36976 case MAXDOP:
36977 case MOVE:
36978 case NOCHECK:
36979 case OBJECT:
36980 case ONLINE:
36981 case OVER:
36982 case PAGE:
36983 case PAUSED:
36984 case PERIOD:
36985 case PERSISTED:
36986 case PRECEDING:
36987 case RANDOMIZED:
36988 case RANGE:
36989 case REBUILD:
36990 case REPLICATE:
36991 case REPLICATION:
36992 case RESUMABLE:
36993 case ROWGUIDCOL:
36994 case SAVE:
36995 case SELF:
36996 case SPARSE:
36997 case SWITCH:
36998 case TRAN:
36999 case TRANCOUNT:
37000 case CONTROL:
37001 case CONCAT:
37002 case TAKE:
37003 case OWNERSHIP:
37004 case DEFINITION:
37005 case APPLICATION:
37006 case ASSEMBLY:
37007 case SYMMETRIC:
37008 case ASYMMETRIC:
37009 case SERVER:
37010 case RECEIVE:
37011 case CHANGE:
37012 case TRACE:
37013 case TRACKING:
37014 case RESOURCES:
37015 case SETTINGS:
37016 case STATE:
37017 case AVAILABILITY:
37018 case CREDENTIAL:
37019 case ENDPOINT:
37020 case EVENT:
37021 case NOTIFICATION:
37022 case LINKED:
37023 case AUDIT:
37024 case DDL:
37025 case XML:
37026 case IMPERSONATE:
37027 case SECURABLES:
37028 case AUTHENTICATE:
37029 case EXTERNAL:
37030 case ACCESS:
37031 case ADMINISTER:
37032 case BULK:
37033 case OPERATIONS:
37034 case UNSAFE:
37035 case SHUTDOWN:
37036 case SCOPED:
37037 case CONFIGURATION:
37038 case DATASPACE:
37039 case SERVICE:
37040 case CERTIFICATE:
37041 case CONTRACT:
37042 case ENCRYPTION:
37043 case MASTER:
37044 case DATA:
37045 case SOURCE:
37046 case FILE:
37047 case FORMAT:
37048 case LIBRARY:
37049 case FULLTEXT:
37050 case MASK:
37051 case UNMASK:
37052 case MESSAGE:
37053 case REMOTE:
37054 case BINDING:
37055 case ROUTE:
37056 case SECURITY:
37057 case POLICY:
37058 case AGGREGATE:
37059 case QUEUE:
37060 case RULE:
37061 case SYNONYM:
37062 case COLLECTION:
37063 case SCRIPT:
37064 case KILL:
37065 case BACKUP:
37066 case LOG:
37067 case SHOWPLAN:
37068 case SUBSCRIBE:
37069 case QUERY:
37070 case NOTIFICATIONS:
37071 case CHECKPOINT:
37072 case SEQUENCE:
37073 case ABORT_AFTER_WAIT:
37074 case ALLOW_PAGE_LOCKS:
37075 case ALLOW_ROW_LOCKS:
37076 case ALL_SPARSE_COLUMNS:
37077 case BUCKET_COUNT:
37078 case COLUMNSTORE_ARCHIVE:
37079 case COLUMN_ENCRYPTION_KEY:
37080 case COLUMN_SET:
37081 case COMPRESSION_DELAY:
37082 case DATABASE_DEAULT:
37083 case DATA_COMPRESSION:
37084 case DATA_CONSISTENCY_CHECK:
37085 case ENCRYPTION_TYPE:
37086 case SYSTEM_TIME:
37087 case SYSTEM_VERSIONING:
37088 case TEXTIMAGE_ON:
37089 case WAIT_AT_LOW_PRIORITY:
37090 case STATISTICS_INCREMENTAL:
37091 case STATISTICS_NORECOMPUTE:
37092 case ROUND_ROBIN:
37093 case SCHEMA_AND_DATA:
37094 case SCHEMA_ONLY:
37095 case SORT_IN_TEMPDB:
37096 case IGNORE_DUP_KEY:
37097 case IMPLICIT_TRANSACTIONS:
37098 case MAX_DURATION:
37099 case MEMORY_OPTIMIZED:
37100 case MIGRATION_STATE:
37101 case PAD_INDEX:
37102 case REMOTE_DATA_ARCHIVE:
37103 case FILESTREAM_ON:
37104 case FILETABLE_COLLATE_FILENAME:
37105 case FILETABLE_DIRECTORY:
37106 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
37107 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
37108 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
37109 case FILTER_PREDICATE:
37110 case HISTORY_RETENTION_PERIOD:
37111 case HISTORY_TABLE:
37112 case LOCK_ESCALATION:
37113 case DROP_EXISTING:
37114 case ROW_NUMBER:
37115 case FIRST:
37116 case DATETIME2:
37117 case OUTPUT:
37118 case INSERTED:
37119 case DELETED:
37120 case FILENAME:
37121 case SIZE:
37122 case MAXSIZE:
37123 case FILEGROWTH:
37124 case UNLIMITED:
37125 case KB:
37126 case MB:
37127 case GB:
37128 case TB:
37129 case CONTAINS:
37130 case MEMORY_OPTIMIZED_DATA:
37131 case FILEGROUP:
37132 case NON_TRANSACTED_ACCESS:
37133 case DB_CHAINING:
37134 case TRUSTWORTHY:
37135 case FORWARD_ONLY:
37136 case KEYSET:
37137 case FAST_FORWARD:
37138 case SCROLL_LOCKS:
37139 case OPTIMISTIC:
37140 case TYPE_WARNING:
37141 case SCHEMABINDING:
37142 case CALLER:
37143 case INPUT:
37144 case OWNER:
37145 case SNAPSHOT:
37146 case REPEATABLE:
37147 case SERIALIZABLE:
37148 case NATIVE_COMPILATION:
37149 case VIEW_METADATA:
37150 case INSTEAD:
37151 case APPEND:
37152 case INCREMENT:
37153 case CACHE:
37154 case MINVALUE:
37155 case MAXVALUE:
37156 case RESTART:
37157 case LOB_COMPACTION:
37158 case COMPRESS_ALL_ROW_GROUPS:
37159 case REORGANIZE:
37160 case RESUME:
37161 case PAUSE:
37162 case ABORT:
37163 case ACCELERATED_DATABASE_RECOVERY:
37164 case PERSISTENT_VERSION_STORE_FILEGROUP:
37165 case IMMEDIATE:
37166 case NO_WAIT:
37167 case TARGET_RECOVERY_TIME:
37168 case SECONDS:
37169 case HONOR_BROKER_PRIORITY:
37170 case ERROR_BROKER_CONVERSATIONS:
37171 case NEW_BROKER:
37172 case DISABLE_BROKER:
37173 case ENABLE_BROKER:
37174 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
37175 case READ_COMMITTED_SNAPSHOT:
37176 case ALLOW_SNAPSHOT_ISOLATION:
37177 case RECURSIVE_TRIGGERS:
37178 case QUOTED_IDENTIFIER:
37179 case NUMERIC_ROUNDABORT:
37180 case CONCAT_NULL_YIELDS_NULL:
37181 case COMPATIBILITY_LEVEL:
37182 case ARITHABORT:
37183 case ANSI_WARNINGS:
37184 case ANSI_PADDING:
37185 case ANSI_NULLS:
37186 case ANSI_NULL_DEFAULT:
37187 case PAGE_VERIFY:
37188 case CHECKSUM:
37189 case TORN_PAGE_DETECTION:
37190 case BULK_LOGGED:
37191 case RECOVERY:
37192 case TOTAL_EXECUTION_CPU_TIME_MS:
37193 case TOTAL_COMPILE_CPU_TIME_MS:
37194 case STALE_CAPTURE_POLICY_THRESHOLD:
37195 case EXECUTION_COUNT:
37196 case QUERY_CAPTURE_POLICY:
37197 case WAIT_STATS_CAPTURE_MODE:
37198 case MAX_PLANS_PER_QUERY:
37199 case QUERY_CAPTURE_MODE:
37200 case SIZE_BASED_CLEANUP_MODE:
37201 case INTERVAL_LENGTH_MINUTES:
37202 case MAX_STORAGE_SIZE_MB:
37203 case DATA_FLUSH_INTERVAL_SECONDS:
37204 case CLEANUP_POLICY:
37205 case CUSTOM:
37206 case STALE_QUERY_THRESHOLD_DAYS:
37207 case OPERATION_MODE:
37208 case QUERY_STORE:
37209 case CURSOR_DEFAULT:
37210 case GLOBAL:
37211 case CURSOR_CLOSE_ON_COMMIT:
37212 case HOURS:
37213 case CHANGE_RETENTION:
37214 case AUTO_CLEANUP:
37215 case CHANGE_TRACKING:
37216 case AUTOMATIC_TUNING:
37217 case FORCE_LAST_GOOD_PLAN:
37218 case AUTO_UPDATE_STATISTICS_ASYNC:
37219 case AUTO_UPDATE_STATISTICS:
37220 case AUTO_SHRINK:
37221 case AUTO_CREATE_STATISTICS:
37222 case INCREMENTAL:
37223 case AUTO_CLOSE:
37224 case DATA_RETENTION:
37225 case TEMPORAL_HISTORY_RETENTION:
37226 case EDITION:
37227 case MIXED_PAGE_ALLOCATION:
37228 case DISABLED:
37229 case ALLOWED:
37230 case HADR:
37231 case MULTI_USER:
37232 case RESTRICTED_USER:
37233 case SINGLE_USER:
37234 case OFFLINE:
37235 case EMERGENCY:
37236 case SUSPEND:
37237 case DATE_CORRELATION_OPTIMIZATION:
37238 case ELASTIC_POOL:
37239 case SERVICE_OBJECTIVE:
37240 case DATABASE_NAME:
37241 case ALLOW_CONNECTIONS:
37242 case GEO:
37243 case NAMED:
37244 case DATEFIRST:
37245 case BACKUP_STORAGE_REDUNDANCY:
37246 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
37247 case SECONDARY:
37248 case FAILOVER:
37249 case DEFAULT_FULLTEXT_LANGUAGE:
37250 case DEFAULT_LANGUAGE:
37251 case INLINE:
37252 case NESTED_TRIGGERS:
37253 case TRANSFORM_NOISE_WORDS:
37254 case TWO_DIGIT_YEAR_CUTOFF:
37255 case PERSISTENT_LOG_BUFFER:
37256 case DIRECTORY_NAME:
37257 case DATEFORMAT:
37258 case DELAYED_DURABILITY:
37259 case AUTHORIZATION:
37260 case TRANSFER:
37261 case PROVIDER:
37262 case SEARCH:
37263 case MEMBER:
37264 case OPENJSON:
37265 case OPENROWSET:
37266 case TRY_CAST:
37267 case TRY_CONVERT:
37268 case IDENTIFIER_:
37269 case DELIMITED_IDENTIFIER_:
37270 case STRING_:
37271 case NUMBER_:
37272 case HEX_DIGIT_:
37273 case BIT_NUM_:
37274 case NCHAR_TEXT:
37275 enterOuterAlt(_localctx, 1);
37276 {
37277 setState(5191);
37278 expr(0);
37279 }
37280 break;
37281 case DEFAULT:
37282 enterOuterAlt(_localctx, 2);
37283 {
37284 setState(5192);
37285 match(DEFAULT);
37286 }
37287 break;
37288 default:
37289 throw new NoViableAltException(this);
37290 }
37291 }
37292 catch (RecognitionException re) {
37293 _localctx.exception = re;
37294 _errHandler.reportError(this, re);
37295 _errHandler.recover(this, re);
37296 }
37297 finally {
37298 exitRule();
37299 }
37300 return _localctx;
37301 }
37302
37303 public static class DeleteContext extends ParserRuleContext {
37304 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
37305 public SingleTableClauseContext singleTableClause() {
37306 return getRuleContext(SingleTableClauseContext.class,0);
37307 }
37308 public MultipleTablesClauseContext multipleTablesClause() {
37309 return getRuleContext(MultipleTablesClauseContext.class,0);
37310 }
37311 public WithClauseContext withClause() {
37312 return getRuleContext(WithClauseContext.class,0);
37313 }
37314 public TopContext top() {
37315 return getRuleContext(TopContext.class,0);
37316 }
37317 public OutputClauseContext outputClause() {
37318 return getRuleContext(OutputClauseContext.class,0);
37319 }
37320 public WhereClauseContext whereClause() {
37321 return getRuleContext(WhereClauseContext.class,0);
37322 }
37323 public OptionHintContext optionHint() {
37324 return getRuleContext(OptionHintContext.class,0);
37325 }
37326 public DeleteContext(ParserRuleContext parent, int invokingState) {
37327 super(parent, invokingState);
37328 }
37329 @Override public int getRuleIndex() { return RULE_delete; }
37330 @Override
37331 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37332 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDelete(this);
37333 else return visitor.visitChildren(this);
37334 }
37335 }
37336
37337 public final DeleteContext delete() throws RecognitionException {
37338 DeleteContext _localctx = new DeleteContext(_ctx, getState());
37339 enterRule(_localctx, 722, RULE_delete);
37340 int _la;
37341 try {
37342 enterOuterAlt(_localctx, 1);
37343 {
37344 setState(5196);
37345 _errHandler.sync(this);
37346 _la = _input.LA(1);
37347 if (_la==WITH) {
37348 {
37349 setState(5195);
37350 withClause();
37351 }
37352 }
37353
37354 setState(5198);
37355 match(DELETE);
37356 setState(5200);
37357 _errHandler.sync(this);
37358 switch ( getInterpreter().adaptivePredict(_input,571,_ctx) ) {
37359 case 1:
37360 {
37361 setState(5199);
37362 top();
37363 }
37364 break;
37365 }
37366 setState(5204);
37367 _errHandler.sync(this);
37368 switch ( getInterpreter().adaptivePredict(_input,572,_ctx) ) {
37369 case 1:
37370 {
37371 setState(5202);
37372 singleTableClause();
37373 }
37374 break;
37375 case 2:
37376 {
37377 setState(5203);
37378 multipleTablesClause();
37379 }
37380 break;
37381 }
37382 setState(5207);
37383 _errHandler.sync(this);
37384 _la = _input.LA(1);
37385 if (_la==OUTPUT) {
37386 {
37387 setState(5206);
37388 outputClause();
37389 }
37390 }
37391
37392 setState(5210);
37393 _errHandler.sync(this);
37394 _la = _input.LA(1);
37395 if (_la==WHERE) {
37396 {
37397 setState(5209);
37398 whereClause();
37399 }
37400 }
37401
37402 setState(5213);
37403 _errHandler.sync(this);
37404 _la = _input.LA(1);
37405 if (_la==OPTION) {
37406 {
37407 setState(5212);
37408 optionHint();
37409 }
37410 }
37411
37412 }
37413 }
37414 catch (RecognitionException re) {
37415 _localctx.exception = re;
37416 _errHandler.reportError(this, re);
37417 _errHandler.recover(this, re);
37418 }
37419 finally {
37420 exitRule();
37421 }
37422 return _localctx;
37423 }
37424
37425 public static class OptionHintContext extends ParserRuleContext {
37426 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
37427 public QueryHintContext queryHint() {
37428 return getRuleContext(QueryHintContext.class,0);
37429 }
37430 public OptionHintContext(ParserRuleContext parent, int invokingState) {
37431 super(parent, invokingState);
37432 }
37433 @Override public int getRuleIndex() { return RULE_optionHint; }
37434 @Override
37435 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37436 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOptionHint(this);
37437 else return visitor.visitChildren(this);
37438 }
37439 }
37440
37441 public final OptionHintContext optionHint() throws RecognitionException {
37442 OptionHintContext _localctx = new OptionHintContext(_ctx, getState());
37443 enterRule(_localctx, 724, RULE_optionHint);
37444 try {
37445 enterOuterAlt(_localctx, 1);
37446 {
37447 setState(5215);
37448 match(OPTION);
37449 setState(5216);
37450 queryHint();
37451 }
37452 }
37453 catch (RecognitionException re) {
37454 _localctx.exception = re;
37455 _errHandler.reportError(this, re);
37456 _errHandler.recover(this, re);
37457 }
37458 finally {
37459 exitRule();
37460 }
37461 return _localctx;
37462 }
37463
37464 public static class SingleTableClauseContext extends ParserRuleContext {
37465 public TableNameContext tableName() {
37466 return getRuleContext(TableNameContext.class,0);
37467 }
37468 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
37469 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
37470 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
37471 public AliasContext alias() {
37472 return getRuleContext(AliasContext.class,0);
37473 }
37474 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
37475 public SingleTableClauseContext(ParserRuleContext parent, int invokingState) {
37476 super(parent, invokingState);
37477 }
37478 @Override public int getRuleIndex() { return RULE_singleTableClause; }
37479 @Override
37480 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37481 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSingleTableClause(this);
37482 else return visitor.visitChildren(this);
37483 }
37484 }
37485
37486 public final SingleTableClauseContext singleTableClause() throws RecognitionException {
37487 SingleTableClauseContext _localctx = new SingleTableClauseContext(_ctx, getState());
37488 enterRule(_localctx, 726, RULE_singleTableClause);
37489 int _la;
37490 try {
37491 enterOuterAlt(_localctx, 1);
37492 {
37493 setState(5219);
37494 _errHandler.sync(this);
37495 _la = _input.LA(1);
37496 if (_la==FROM) {
37497 {
37498 setState(5218);
37499 match(FROM);
37500 }
37501 }
37502
37503 setState(5222);
37504 _errHandler.sync(this);
37505 _la = _input.LA(1);
37506 if (_la==LP_) {
37507 {
37508 setState(5221);
37509 match(LP_);
37510 }
37511 }
37512
37513 setState(5224);
37514 tableName();
37515 setState(5226);
37516 _errHandler.sync(this);
37517 _la = _input.LA(1);
37518 if (_la==RP_) {
37519 {
37520 setState(5225);
37521 match(RP_);
37522 }
37523 }
37524
37525 setState(5232);
37526 _errHandler.sync(this);
37527 switch ( getInterpreter().adaptivePredict(_input,580,_ctx) ) {
37528 case 1:
37529 {
37530 setState(5229);
37531 _errHandler.sync(this);
37532 _la = _input.LA(1);
37533 if (_la==AS) {
37534 {
37535 setState(5228);
37536 match(AS);
37537 }
37538 }
37539
37540 setState(5231);
37541 alias();
37542 }
37543 break;
37544 }
37545 }
37546 }
37547 catch (RecognitionException re) {
37548 _localctx.exception = re;
37549 _errHandler.reportError(this, re);
37550 _errHandler.recover(this, re);
37551 }
37552 finally {
37553 exitRule();
37554 }
37555 return _localctx;
37556 }
37557
37558 public static class MultipleTablesClauseContext extends ParserRuleContext {
37559 public MultipleTableNamesContext multipleTableNames() {
37560 return getRuleContext(MultipleTableNamesContext.class,0);
37561 }
37562 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
37563 public TableReferencesContext tableReferences() {
37564 return getRuleContext(TableReferencesContext.class,0);
37565 }
37566 public TerminalNode USING() { return getToken(SQLServerStatementParser.USING, 0); }
37567 public MultipleTablesClauseContext(ParserRuleContext parent, int invokingState) {
37568 super(parent, invokingState);
37569 }
37570 @Override public int getRuleIndex() { return RULE_multipleTablesClause; }
37571 @Override
37572 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37573 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMultipleTablesClause(this);
37574 else return visitor.visitChildren(this);
37575 }
37576 }
37577
37578 public final MultipleTablesClauseContext multipleTablesClause() throws RecognitionException {
37579 MultipleTablesClauseContext _localctx = new MultipleTablesClauseContext(_ctx, getState());
37580 enterRule(_localctx, 728, RULE_multipleTablesClause);
37581 try {
37582 setState(5243);
37583 _errHandler.sync(this);
37584 switch (_input.LA(1)) {
37585 case DOT_:
37586 case TRUNCATE:
37587 case SCHEMA:
37588 case COLUMNS:
37589 case PRECISION:
37590 case FUNCTION:
37591 case TRIGGER:
37592 case CAST:
37593 case TRIM:
37594 case SUBSTRING:
37595 case OFF:
37596 case GROUP:
37597 case LIMIT:
37598 case OFFSET:
37599 case SAVEPOINT:
37600 case BOOLEAN:
37601 case ARRAY:
37602 case DATE:
37603 case TIMESTAMP:
37604 case LOCALTIME:
37605 case LOCALTIMESTAMP:
37606 case YEAR:
37607 case QUARTER:
37608 case MONTH:
37609 case WEEK:
37610 case DAY:
37611 case SECOND:
37612 case MICROSECOND:
37613 case MAX:
37614 case MIN:
37615 case SUM:
37616 case COUNT:
37617 case AVG:
37618 case ENABLE:
37619 case DISABLE:
37620 case INSTANCE:
37621 case DO:
37622 case DEFINER:
37623 case SQL:
37624 case CASCADED:
37625 case LOCAL:
37626 case NEXT:
37627 case NAME:
37628 case INTEGER:
37629 case TYPE:
37630 case TEXT:
37631 case VIEWS:
37632 case READ_ONLY:
37633 case DATABASE:
37634 case RETURNS:
37635 case DATEPART:
37636 case PASSWORD:
37637 case BINARY:
37638 case HIDDEN_:
37639 case MOD:
37640 case PARTITION:
37641 case PARTITIONS:
37642 case TOP:
37643 case ROW:
37644 case ROWS:
37645 case XOR:
37646 case ALWAYS:
37647 case ROLE:
37648 case START:
37649 case ALGORITHM:
37650 case AUTO:
37651 case BLOCKERS:
37652 case CLUSTERED:
37653 case NONCLUSTERED:
37654 case COLUMNSTORE:
37655 case CONTENT:
37656 case YEARS:
37657 case MONTHS:
37658 case WEEKS:
37659 case DAYS:
37660 case MINUTES:
37661 case DENY:
37662 case DETERMINISTIC:
37663 case DISTRIBUTION:
37664 case DOCUMENT:
37665 case DURABILITY:
37666 case ENCRYPTED:
37667 case FILESTREAM:
37668 case FILETABLE:
37669 case FILLFACTOR:
37670 case FOLLOWING:
37671 case HASH:
37672 case HEAP:
37673 case INBOUND:
37674 case OUTBOUND:
37675 case UNBOUNDED:
37676 case INFINITE:
37677 case LOGIN:
37678 case MASKED:
37679 case MAXDOP:
37680 case MOVE:
37681 case NOCHECK:
37682 case OBJECT:
37683 case ONLINE:
37684 case OVER:
37685 case PAGE:
37686 case PAUSED:
37687 case PERIOD:
37688 case PERSISTED:
37689 case PRECEDING:
37690 case RANDOMIZED:
37691 case RANGE:
37692 case REBUILD:
37693 case REPLICATE:
37694 case REPLICATION:
37695 case RESUMABLE:
37696 case ROWGUIDCOL:
37697 case SAVE:
37698 case SELF:
37699 case SPARSE:
37700 case SWITCH:
37701 case TRAN:
37702 case TRANCOUNT:
37703 case CONTROL:
37704 case CONCAT:
37705 case TAKE:
37706 case OWNERSHIP:
37707 case DEFINITION:
37708 case APPLICATION:
37709 case ASSEMBLY:
37710 case SYMMETRIC:
37711 case ASYMMETRIC:
37712 case SERVER:
37713 case RECEIVE:
37714 case CHANGE:
37715 case TRACE:
37716 case TRACKING:
37717 case RESOURCES:
37718 case SETTINGS:
37719 case STATE:
37720 case AVAILABILITY:
37721 case CREDENTIAL:
37722 case ENDPOINT:
37723 case EVENT:
37724 case NOTIFICATION:
37725 case LINKED:
37726 case AUDIT:
37727 case DDL:
37728 case XML:
37729 case IMPERSONATE:
37730 case SECURABLES:
37731 case AUTHENTICATE:
37732 case EXTERNAL:
37733 case ACCESS:
37734 case ADMINISTER:
37735 case BULK:
37736 case OPERATIONS:
37737 case UNSAFE:
37738 case SHUTDOWN:
37739 case SCOPED:
37740 case CONFIGURATION:
37741 case DATASPACE:
37742 case SERVICE:
37743 case CERTIFICATE:
37744 case CONTRACT:
37745 case ENCRYPTION:
37746 case MASTER:
37747 case DATA:
37748 case SOURCE:
37749 case FILE:
37750 case FORMAT:
37751 case LIBRARY:
37752 case FULLTEXT:
37753 case MASK:
37754 case UNMASK:
37755 case MESSAGE:
37756 case REMOTE:
37757 case BINDING:
37758 case ROUTE:
37759 case SECURITY:
37760 case POLICY:
37761 case AGGREGATE:
37762 case QUEUE:
37763 case RULE:
37764 case SYNONYM:
37765 case COLLECTION:
37766 case SCRIPT:
37767 case KILL:
37768 case BACKUP:
37769 case LOG:
37770 case SHOWPLAN:
37771 case SUBSCRIBE:
37772 case QUERY:
37773 case NOTIFICATIONS:
37774 case CHECKPOINT:
37775 case SEQUENCE:
37776 case ABORT_AFTER_WAIT:
37777 case ALLOW_PAGE_LOCKS:
37778 case ALLOW_ROW_LOCKS:
37779 case ALL_SPARSE_COLUMNS:
37780 case BUCKET_COUNT:
37781 case COLUMNSTORE_ARCHIVE:
37782 case COLUMN_ENCRYPTION_KEY:
37783 case COLUMN_SET:
37784 case COMPRESSION_DELAY:
37785 case DATABASE_DEAULT:
37786 case DATA_COMPRESSION:
37787 case DATA_CONSISTENCY_CHECK:
37788 case ENCRYPTION_TYPE:
37789 case SYSTEM_TIME:
37790 case SYSTEM_VERSIONING:
37791 case TEXTIMAGE_ON:
37792 case WAIT_AT_LOW_PRIORITY:
37793 case STATISTICS_INCREMENTAL:
37794 case STATISTICS_NORECOMPUTE:
37795 case ROUND_ROBIN:
37796 case SCHEMA_AND_DATA:
37797 case SCHEMA_ONLY:
37798 case SORT_IN_TEMPDB:
37799 case IGNORE_DUP_KEY:
37800 case IMPLICIT_TRANSACTIONS:
37801 case MAX_DURATION:
37802 case MEMORY_OPTIMIZED:
37803 case MIGRATION_STATE:
37804 case PAD_INDEX:
37805 case REMOTE_DATA_ARCHIVE:
37806 case FILESTREAM_ON:
37807 case FILETABLE_COLLATE_FILENAME:
37808 case FILETABLE_DIRECTORY:
37809 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
37810 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
37811 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
37812 case FILTER_PREDICATE:
37813 case HISTORY_RETENTION_PERIOD:
37814 case HISTORY_TABLE:
37815 case LOCK_ESCALATION:
37816 case DROP_EXISTING:
37817 case ROW_NUMBER:
37818 case FIRST:
37819 case DATETIME2:
37820 case OUTPUT:
37821 case INSERTED:
37822 case DELETED:
37823 case FILENAME:
37824 case SIZE:
37825 case MAXSIZE:
37826 case FILEGROWTH:
37827 case UNLIMITED:
37828 case KB:
37829 case MB:
37830 case GB:
37831 case TB:
37832 case CONTAINS:
37833 case MEMORY_OPTIMIZED_DATA:
37834 case FILEGROUP:
37835 case NON_TRANSACTED_ACCESS:
37836 case DB_CHAINING:
37837 case TRUSTWORTHY:
37838 case FORWARD_ONLY:
37839 case KEYSET:
37840 case FAST_FORWARD:
37841 case SCROLL_LOCKS:
37842 case OPTIMISTIC:
37843 case TYPE_WARNING:
37844 case SCHEMABINDING:
37845 case CALLER:
37846 case INPUT:
37847 case OWNER:
37848 case SNAPSHOT:
37849 case REPEATABLE:
37850 case SERIALIZABLE:
37851 case NATIVE_COMPILATION:
37852 case VIEW_METADATA:
37853 case INSTEAD:
37854 case APPEND:
37855 case INCREMENT:
37856 case CACHE:
37857 case MINVALUE:
37858 case MAXVALUE:
37859 case RESTART:
37860 case LOB_COMPACTION:
37861 case COMPRESS_ALL_ROW_GROUPS:
37862 case REORGANIZE:
37863 case RESUME:
37864 case PAUSE:
37865 case ABORT:
37866 case ACCELERATED_DATABASE_RECOVERY:
37867 case PERSISTENT_VERSION_STORE_FILEGROUP:
37868 case IMMEDIATE:
37869 case NO_WAIT:
37870 case TARGET_RECOVERY_TIME:
37871 case SECONDS:
37872 case HONOR_BROKER_PRIORITY:
37873 case ERROR_BROKER_CONVERSATIONS:
37874 case NEW_BROKER:
37875 case DISABLE_BROKER:
37876 case ENABLE_BROKER:
37877 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
37878 case READ_COMMITTED_SNAPSHOT:
37879 case ALLOW_SNAPSHOT_ISOLATION:
37880 case RECURSIVE_TRIGGERS:
37881 case QUOTED_IDENTIFIER:
37882 case NUMERIC_ROUNDABORT:
37883 case CONCAT_NULL_YIELDS_NULL:
37884 case COMPATIBILITY_LEVEL:
37885 case ARITHABORT:
37886 case ANSI_WARNINGS:
37887 case ANSI_PADDING:
37888 case ANSI_NULLS:
37889 case ANSI_NULL_DEFAULT:
37890 case PAGE_VERIFY:
37891 case CHECKSUM:
37892 case TORN_PAGE_DETECTION:
37893 case BULK_LOGGED:
37894 case RECOVERY:
37895 case TOTAL_EXECUTION_CPU_TIME_MS:
37896 case TOTAL_COMPILE_CPU_TIME_MS:
37897 case STALE_CAPTURE_POLICY_THRESHOLD:
37898 case EXECUTION_COUNT:
37899 case QUERY_CAPTURE_POLICY:
37900 case WAIT_STATS_CAPTURE_MODE:
37901 case MAX_PLANS_PER_QUERY:
37902 case QUERY_CAPTURE_MODE:
37903 case SIZE_BASED_CLEANUP_MODE:
37904 case INTERVAL_LENGTH_MINUTES:
37905 case MAX_STORAGE_SIZE_MB:
37906 case DATA_FLUSH_INTERVAL_SECONDS:
37907 case CLEANUP_POLICY:
37908 case CUSTOM:
37909 case STALE_QUERY_THRESHOLD_DAYS:
37910 case OPERATION_MODE:
37911 case QUERY_STORE:
37912 case CURSOR_DEFAULT:
37913 case GLOBAL:
37914 case CURSOR_CLOSE_ON_COMMIT:
37915 case HOURS:
37916 case CHANGE_RETENTION:
37917 case AUTO_CLEANUP:
37918 case CHANGE_TRACKING:
37919 case AUTOMATIC_TUNING:
37920 case FORCE_LAST_GOOD_PLAN:
37921 case AUTO_UPDATE_STATISTICS_ASYNC:
37922 case AUTO_UPDATE_STATISTICS:
37923 case AUTO_SHRINK:
37924 case AUTO_CREATE_STATISTICS:
37925 case INCREMENTAL:
37926 case AUTO_CLOSE:
37927 case DATA_RETENTION:
37928 case TEMPORAL_HISTORY_RETENTION:
37929 case EDITION:
37930 case MIXED_PAGE_ALLOCATION:
37931 case DISABLED:
37932 case ALLOWED:
37933 case HADR:
37934 case MULTI_USER:
37935 case RESTRICTED_USER:
37936 case SINGLE_USER:
37937 case OFFLINE:
37938 case EMERGENCY:
37939 case SUSPEND:
37940 case DATE_CORRELATION_OPTIMIZATION:
37941 case ELASTIC_POOL:
37942 case SERVICE_OBJECTIVE:
37943 case DATABASE_NAME:
37944 case ALLOW_CONNECTIONS:
37945 case GEO:
37946 case NAMED:
37947 case DATEFIRST:
37948 case BACKUP_STORAGE_REDUNDANCY:
37949 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
37950 case SECONDARY:
37951 case FAILOVER:
37952 case DEFAULT_FULLTEXT_LANGUAGE:
37953 case DEFAULT_LANGUAGE:
37954 case INLINE:
37955 case NESTED_TRIGGERS:
37956 case TRANSFORM_NOISE_WORDS:
37957 case TWO_DIGIT_YEAR_CUTOFF:
37958 case PERSISTENT_LOG_BUFFER:
37959 case DIRECTORY_NAME:
37960 case DATEFORMAT:
37961 case DELAYED_DURABILITY:
37962 case AUTHORIZATION:
37963 case TRANSFER:
37964 case PROVIDER:
37965 case SEARCH:
37966 case MEMBER:
37967 case IDENTIFIER_:
37968 case DELIMITED_IDENTIFIER_:
37969 enterOuterAlt(_localctx, 1);
37970 {
37971 setState(5234);
37972 multipleTableNames();
37973 setState(5235);
37974 match(FROM);
37975 setState(5236);
37976 tableReferences();
37977 }
37978 break;
37979 case FROM:
37980 enterOuterAlt(_localctx, 2);
37981 {
37982 setState(5238);
37983 match(FROM);
37984 setState(5239);
37985 multipleTableNames();
37986 setState(5240);
37987 match(USING);
37988 setState(5241);
37989 tableReferences();
37990 }
37991 break;
37992 default:
37993 throw new NoViableAltException(this);
37994 }
37995 }
37996 catch (RecognitionException re) {
37997 _localctx.exception = re;
37998 _errHandler.reportError(this, re);
37999 _errHandler.recover(this, re);
38000 }
38001 finally {
38002 exitRule();
38003 }
38004 return _localctx;
38005 }
38006
38007 public static class MultipleTableNamesContext extends ParserRuleContext {
38008 public List<TableNameContext> tableName() {
38009 return getRuleContexts(TableNameContext.class);
38010 }
38011 public TableNameContext tableName(int i) {
38012 return getRuleContext(TableNameContext.class,i);
38013 }
38014 public List<TerminalNode> DOT_ASTERISK_() { return getTokens(SQLServerStatementParser.DOT_ASTERISK_); }
38015 public TerminalNode DOT_ASTERISK_(int i) {
38016 return getToken(SQLServerStatementParser.DOT_ASTERISK_, i);
38017 }
38018 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
38019 public TerminalNode COMMA_(int i) {
38020 return getToken(SQLServerStatementParser.COMMA_, i);
38021 }
38022 public MultipleTableNamesContext(ParserRuleContext parent, int invokingState) {
38023 super(parent, invokingState);
38024 }
38025 @Override public int getRuleIndex() { return RULE_multipleTableNames; }
38026 @Override
38027 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38028 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMultipleTableNames(this);
38029 else return visitor.visitChildren(this);
38030 }
38031 }
38032
38033 public final MultipleTableNamesContext multipleTableNames() throws RecognitionException {
38034 MultipleTableNamesContext _localctx = new MultipleTableNamesContext(_ctx, getState());
38035 enterRule(_localctx, 730, RULE_multipleTableNames);
38036 int _la;
38037 try {
38038 enterOuterAlt(_localctx, 1);
38039 {
38040 setState(5245);
38041 tableName();
38042 setState(5247);
38043 _errHandler.sync(this);
38044 _la = _input.LA(1);
38045 if (_la==DOT_ASTERISK_) {
38046 {
38047 setState(5246);
38048 match(DOT_ASTERISK_);
38049 }
38050 }
38051
38052 setState(5256);
38053 _errHandler.sync(this);
38054 _la = _input.LA(1);
38055 while (_la==COMMA_) {
38056 {
38057 {
38058 setState(5249);
38059 match(COMMA_);
38060 setState(5250);
38061 tableName();
38062 setState(5252);
38063 _errHandler.sync(this);
38064 _la = _input.LA(1);
38065 if (_la==DOT_ASTERISK_) {
38066 {
38067 setState(5251);
38068 match(DOT_ASTERISK_);
38069 }
38070 }
38071
38072 }
38073 }
38074 setState(5258);
38075 _errHandler.sync(this);
38076 _la = _input.LA(1);
38077 }
38078 }
38079 }
38080 catch (RecognitionException re) {
38081 _localctx.exception = re;
38082 _errHandler.reportError(this, re);
38083 _errHandler.recover(this, re);
38084 }
38085 finally {
38086 exitRule();
38087 }
38088 return _localctx;
38089 }
38090
38091 public static class SelectContext extends ParserRuleContext {
38092 public AggregationClauseContext aggregationClause() {
38093 return getRuleContext(AggregationClauseContext.class,0);
38094 }
38095 public SelectContext(ParserRuleContext parent, int invokingState) {
38096 super(parent, invokingState);
38097 }
38098 @Override public int getRuleIndex() { return RULE_select; }
38099 @Override
38100 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38101 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSelect(this);
38102 else return visitor.visitChildren(this);
38103 }
38104 }
38105
38106 public final SelectContext select() throws RecognitionException {
38107 SelectContext _localctx = new SelectContext(_ctx, getState());
38108 enterRule(_localctx, 732, RULE_select);
38109 try {
38110 enterOuterAlt(_localctx, 1);
38111 {
38112 setState(5259);
38113 aggregationClause();
38114 }
38115 }
38116 catch (RecognitionException re) {
38117 _localctx.exception = re;
38118 _errHandler.reportError(this, re);
38119 _errHandler.recover(this, re);
38120 }
38121 finally {
38122 exitRule();
38123 }
38124 return _localctx;
38125 }
38126
38127 public static class AggregationClauseContext extends ParserRuleContext {
38128 public List<SelectClauseContext> selectClause() {
38129 return getRuleContexts(SelectClauseContext.class);
38130 }
38131 public SelectClauseContext selectClause(int i) {
38132 return getRuleContext(SelectClauseContext.class,i);
38133 }
38134 public List<TerminalNode> UNION() { return getTokens(SQLServerStatementParser.UNION); }
38135 public TerminalNode UNION(int i) {
38136 return getToken(SQLServerStatementParser.UNION, i);
38137 }
38138 public List<TerminalNode> EXCEPT() { return getTokens(SQLServerStatementParser.EXCEPT); }
38139 public TerminalNode EXCEPT(int i) {
38140 return getToken(SQLServerStatementParser.EXCEPT, i);
38141 }
38142 public List<TerminalNode> INTERSECT() { return getTokens(SQLServerStatementParser.INTERSECT); }
38143 public TerminalNode INTERSECT(int i) {
38144 return getToken(SQLServerStatementParser.INTERSECT, i);
38145 }
38146 public List<TerminalNode> ALL() { return getTokens(SQLServerStatementParser.ALL); }
38147 public TerminalNode ALL(int i) {
38148 return getToken(SQLServerStatementParser.ALL, i);
38149 }
38150 public AggregationClauseContext(ParserRuleContext parent, int invokingState) {
38151 super(parent, invokingState);
38152 }
38153 @Override public int getRuleIndex() { return RULE_aggregationClause; }
38154 @Override
38155 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38156 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAggregationClause(this);
38157 else return visitor.visitChildren(this);
38158 }
38159 }
38160
38161 public final AggregationClauseContext aggregationClause() throws RecognitionException {
38162 AggregationClauseContext _localctx = new AggregationClauseContext(_ctx, getState());
38163 enterRule(_localctx, 734, RULE_aggregationClause);
38164 int _la;
38165 try {
38166 enterOuterAlt(_localctx, 1);
38167 {
38168 setState(5261);
38169 selectClause();
38170 setState(5273);
38171 _errHandler.sync(this);
38172 _la = _input.LA(1);
38173 while (_la==UNION || _la==EXCEPT || _la==INTERSECT) {
38174 {
38175 {
38176 setState(5268);
38177 _errHandler.sync(this);
38178 switch (_input.LA(1)) {
38179 case UNION:
38180 {
38181 setState(5262);
38182 match(UNION);
38183 setState(5264);
38184 _errHandler.sync(this);
38185 _la = _input.LA(1);
38186 if (_la==ALL) {
38187 {
38188 setState(5263);
38189 match(ALL);
38190 }
38191 }
38192
38193 }
38194 break;
38195 case EXCEPT:
38196 {
38197 setState(5266);
38198 match(EXCEPT);
38199 }
38200 break;
38201 case INTERSECT:
38202 {
38203 setState(5267);
38204 match(INTERSECT);
38205 }
38206 break;
38207 default:
38208 throw new NoViableAltException(this);
38209 }
38210 setState(5270);
38211 selectClause();
38212 }
38213 }
38214 setState(5275);
38215 _errHandler.sync(this);
38216 _la = _input.LA(1);
38217 }
38218 }
38219 }
38220 catch (RecognitionException re) {
38221 _localctx.exception = re;
38222 _errHandler.reportError(this, re);
38223 _errHandler.recover(this, re);
38224 }
38225 finally {
38226 exitRule();
38227 }
38228 return _localctx;
38229 }
38230
38231 public static class SelectClauseContext extends ParserRuleContext {
38232 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
38233 public ProjectionsContext projections() {
38234 return getRuleContext(ProjectionsContext.class,0);
38235 }
38236 public SelectWithClauseContext selectWithClause() {
38237 return getRuleContext(SelectWithClauseContext.class,0);
38238 }
38239 public DuplicateSpecificationContext duplicateSpecification() {
38240 return getRuleContext(DuplicateSpecificationContext.class,0);
38241 }
38242 public IntoClauseContext intoClause() {
38243 return getRuleContext(IntoClauseContext.class,0);
38244 }
38245 public FromClauseContext fromClause() {
38246 return getRuleContext(FromClauseContext.class,0);
38247 }
38248 public WhereClauseContext whereClause() {
38249 return getRuleContext(WhereClauseContext.class,0);
38250 }
38251 public GroupByClauseContext groupByClause() {
38252 return getRuleContext(GroupByClauseContext.class,0);
38253 }
38254 public HavingClauseContext havingClause() {
38255 return getRuleContext(HavingClauseContext.class,0);
38256 }
38257 public OrderByClauseContext orderByClause() {
38258 return getRuleContext(OrderByClauseContext.class,0);
38259 }
38260 public ForClauseContext forClause() {
38261 return getRuleContext(ForClauseContext.class,0);
38262 }
38263 public SelectClauseContext(ParserRuleContext parent, int invokingState) {
38264 super(parent, invokingState);
38265 }
38266 @Override public int getRuleIndex() { return RULE_selectClause; }
38267 @Override
38268 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38269 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSelectClause(this);
38270 else return visitor.visitChildren(this);
38271 }
38272 }
38273
38274 public final SelectClauseContext selectClause() throws RecognitionException {
38275 SelectClauseContext _localctx = new SelectClauseContext(_ctx, getState());
38276 enterRule(_localctx, 736, RULE_selectClause);
38277 int _la;
38278 try {
38279 enterOuterAlt(_localctx, 1);
38280 {
38281 setState(5277);
38282 _errHandler.sync(this);
38283 _la = _input.LA(1);
38284 if (_la==WITH) {
38285 {
38286 setState(5276);
38287 selectWithClause();
38288 }
38289 }
38290
38291 setState(5279);
38292 match(SELECT);
38293 setState(5281);
38294 _errHandler.sync(this);
38295 _la = _input.LA(1);
38296 if (_la==DISTINCT || _la==ALL) {
38297 {
38298 setState(5280);
38299 duplicateSpecification();
38300 }
38301 }
38302
38303 setState(5283);
38304 projections();
38305 setState(5285);
38306 _errHandler.sync(this);
38307 _la = _input.LA(1);
38308 if (_la==INTO) {
38309 {
38310 setState(5284);
38311 intoClause();
38312 }
38313 }
38314
38315 setState(5288);
38316 _errHandler.sync(this);
38317 _la = _input.LA(1);
38318 if (_la==FROM) {
38319 {
38320 setState(5287);
38321 fromClause();
38322 }
38323 }
38324
38325 setState(5291);
38326 _errHandler.sync(this);
38327 _la = _input.LA(1);
38328 if (_la==WHERE) {
38329 {
38330 setState(5290);
38331 whereClause();
38332 }
38333 }
38334
38335 setState(5294);
38336 _errHandler.sync(this);
38337 _la = _input.LA(1);
38338 if (_la==GROUP) {
38339 {
38340 setState(5293);
38341 groupByClause();
38342 }
38343 }
38344
38345 setState(5297);
38346 _errHandler.sync(this);
38347 _la = _input.LA(1);
38348 if (_la==HAVING) {
38349 {
38350 setState(5296);
38351 havingClause();
38352 }
38353 }
38354
38355 setState(5300);
38356 _errHandler.sync(this);
38357 _la = _input.LA(1);
38358 if (_la==ORDER) {
38359 {
38360 setState(5299);
38361 orderByClause();
38362 }
38363 }
38364
38365 setState(5303);
38366 _errHandler.sync(this);
38367 switch ( getInterpreter().adaptivePredict(_input,596,_ctx) ) {
38368 case 1:
38369 {
38370 setState(5302);
38371 forClause();
38372 }
38373 break;
38374 }
38375 }
38376 }
38377 catch (RecognitionException re) {
38378 _localctx.exception = re;
38379 _errHandler.reportError(this, re);
38380 _errHandler.recover(this, re);
38381 }
38382 finally {
38383 exitRule();
38384 }
38385 return _localctx;
38386 }
38387
38388 public static class DuplicateSpecificationContext extends ParserRuleContext {
38389 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
38390 public TerminalNode DISTINCT() { return getToken(SQLServerStatementParser.DISTINCT, 0); }
38391 public DuplicateSpecificationContext(ParserRuleContext parent, int invokingState) {
38392 super(parent, invokingState);
38393 }
38394 @Override public int getRuleIndex() { return RULE_duplicateSpecification; }
38395 @Override
38396 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38397 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDuplicateSpecification(this);
38398 else return visitor.visitChildren(this);
38399 }
38400 }
38401
38402 public final DuplicateSpecificationContext duplicateSpecification() throws RecognitionException {
38403 DuplicateSpecificationContext _localctx = new DuplicateSpecificationContext(_ctx, getState());
38404 enterRule(_localctx, 738, RULE_duplicateSpecification);
38405 int _la;
38406 try {
38407 enterOuterAlt(_localctx, 1);
38408 {
38409 setState(5305);
38410 _la = _input.LA(1);
38411 if ( !(_la==DISTINCT || _la==ALL) ) {
38412 _errHandler.recoverInline(this);
38413 }
38414 else {
38415 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
38416 _errHandler.reportMatch(this);
38417 consume();
38418 }
38419 }
38420 }
38421 catch (RecognitionException re) {
38422 _localctx.exception = re;
38423 _errHandler.reportError(this, re);
38424 _errHandler.recover(this, re);
38425 }
38426 finally {
38427 exitRule();
38428 }
38429 return _localctx;
38430 }
38431
38432 public static class ProjectionsContext extends ParserRuleContext {
38433 public List<ProjectionContext> projection() {
38434 return getRuleContexts(ProjectionContext.class);
38435 }
38436 public ProjectionContext projection(int i) {
38437 return getRuleContext(ProjectionContext.class,i);
38438 }
38439 public TopContext top() {
38440 return getRuleContext(TopContext.class,0);
38441 }
38442 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
38443 public TerminalNode COMMA_(int i) {
38444 return getToken(SQLServerStatementParser.COMMA_, i);
38445 }
38446 public ProjectionsContext(ParserRuleContext parent, int invokingState) {
38447 super(parent, invokingState);
38448 }
38449 @Override public int getRuleIndex() { return RULE_projections; }
38450 @Override
38451 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38452 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProjections(this);
38453 else return visitor.visitChildren(this);
38454 }
38455 }
38456
38457 public final ProjectionsContext projections() throws RecognitionException {
38458 ProjectionsContext _localctx = new ProjectionsContext(_ctx, getState());
38459 enterRule(_localctx, 740, RULE_projections);
38460 int _la;
38461 try {
38462 enterOuterAlt(_localctx, 1);
38463 {
38464 setState(5312);
38465 _errHandler.sync(this);
38466 switch ( getInterpreter().adaptivePredict(_input,598,_ctx) ) {
38467 case 1:
38468 {
38469 setState(5307);
38470 projection();
38471 }
38472 break;
38473 case 2:
38474 {
38475 setState(5308);
38476 top();
38477 setState(5310);
38478 _errHandler.sync(this);
38479 switch ( getInterpreter().adaptivePredict(_input,597,_ctx) ) {
38480 case 1:
38481 {
38482 setState(5309);
38483 projection();
38484 }
38485 break;
38486 }
38487 }
38488 break;
38489 }
38490 setState(5318);
38491 _errHandler.sync(this);
38492 _la = _input.LA(1);
38493 while (_la==COMMA_) {
38494 {
38495 {
38496 setState(5314);
38497 match(COMMA_);
38498 setState(5315);
38499 projection();
38500 }
38501 }
38502 setState(5320);
38503 _errHandler.sync(this);
38504 _la = _input.LA(1);
38505 }
38506 }
38507 }
38508 catch (RecognitionException re) {
38509 _localctx.exception = re;
38510 _errHandler.reportError(this, re);
38511 _errHandler.recover(this, re);
38512 }
38513 finally {
38514 exitRule();
38515 }
38516 return _localctx;
38517 }
38518
38519 public static class ProjectionContext extends ParserRuleContext {
38520 public QualifiedShorthandContext qualifiedShorthand() {
38521 return getRuleContext(QualifiedShorthandContext.class,0);
38522 }
38523 public UnqualifiedShorthandContext unqualifiedShorthand() {
38524 return getRuleContext(UnqualifiedShorthandContext.class,0);
38525 }
38526 public ColumnNameContext columnName() {
38527 return getRuleContext(ColumnNameContext.class,0);
38528 }
38529 public ExprContext expr() {
38530 return getRuleContext(ExprContext.class,0);
38531 }
38532 public AliasContext alias() {
38533 return getRuleContext(AliasContext.class,0);
38534 }
38535 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
38536 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
38537 public ProjectionContext(ParserRuleContext parent, int invokingState) {
38538 super(parent, invokingState);
38539 }
38540 @Override public int getRuleIndex() { return RULE_projection; }
38541 @Override
38542 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38543 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProjection(this);
38544 else return visitor.visitChildren(this);
38545 }
38546 }
38547
38548 public final ProjectionContext projection() throws RecognitionException {
38549 ProjectionContext _localctx = new ProjectionContext(_ctx, getState());
38550 enterRule(_localctx, 742, RULE_projection);
38551 int _la;
38552 try {
38553 setState(5342);
38554 _errHandler.sync(this);
38555 switch ( getInterpreter().adaptivePredict(_input,605,_ctx) ) {
38556 case 1:
38557 enterOuterAlt(_localctx, 1);
38558 {
38559 setState(5321);
38560 qualifiedShorthand();
38561 }
38562 break;
38563 case 2:
38564 enterOuterAlt(_localctx, 2);
38565 {
38566 setState(5322);
38567 unqualifiedShorthand();
38568 }
38569 break;
38570 case 3:
38571 enterOuterAlt(_localctx, 3);
38572 {
38573 setState(5326);
38574 _errHandler.sync(this);
38575 switch ( getInterpreter().adaptivePredict(_input,600,_ctx) ) {
38576 case 1:
38577 {
38578 setState(5323);
38579 alias();
38580 setState(5324);
38581 match(EQ_);
38582 }
38583 break;
38584 }
38585 setState(5330);
38586 _errHandler.sync(this);
38587 switch ( getInterpreter().adaptivePredict(_input,601,_ctx) ) {
38588 case 1:
38589 {
38590 setState(5328);
38591 columnName();
38592 }
38593 break;
38594 case 2:
38595 {
38596 setState(5329);
38597 expr(0);
38598 }
38599 break;
38600 }
38601 }
38602 break;
38603 case 4:
38604 enterOuterAlt(_localctx, 4);
38605 {
38606 setState(5334);
38607 _errHandler.sync(this);
38608 switch ( getInterpreter().adaptivePredict(_input,602,_ctx) ) {
38609 case 1:
38610 {
38611 setState(5332);
38612 columnName();
38613 }
38614 break;
38615 case 2:
38616 {
38617 setState(5333);
38618 expr(0);
38619 }
38620 break;
38621 }
38622 setState(5340);
38623 _errHandler.sync(this);
38624 switch ( getInterpreter().adaptivePredict(_input,604,_ctx) ) {
38625 case 1:
38626 {
38627 setState(5337);
38628 _errHandler.sync(this);
38629 _la = _input.LA(1);
38630 if (_la==AS) {
38631 {
38632 setState(5336);
38633 match(AS);
38634 }
38635 }
38636
38637 setState(5339);
38638 alias();
38639 }
38640 break;
38641 }
38642 }
38643 break;
38644 }
38645 }
38646 catch (RecognitionException re) {
38647 _localctx.exception = re;
38648 _errHandler.reportError(this, re);
38649 _errHandler.recover(this, re);
38650 }
38651 finally {
38652 exitRule();
38653 }
38654 return _localctx;
38655 }
38656
38657 public static class TopContext extends ParserRuleContext {
38658 public TerminalNode TOP() { return getToken(SQLServerStatementParser.TOP, 0); }
38659 public TopNumContext topNum() {
38660 return getRuleContext(TopNumContext.class,0);
38661 }
38662 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
38663 public TerminalNode LP_(int i) {
38664 return getToken(SQLServerStatementParser.LP_, i);
38665 }
38666 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
38667 public TerminalNode RP_(int i) {
38668 return getToken(SQLServerStatementParser.RP_, i);
38669 }
38670 public TerminalNode PERCENT() { return getToken(SQLServerStatementParser.PERCENT, 0); }
38671 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
38672 public TerminalNode TIES() { return getToken(SQLServerStatementParser.TIES, 0); }
38673 public TerminalNode ROW_NUMBER() { return getToken(SQLServerStatementParser.ROW_NUMBER, 0); }
38674 public TerminalNode OVER() { return getToken(SQLServerStatementParser.OVER, 0); }
38675 public OrderByClauseContext orderByClause() {
38676 return getRuleContext(OrderByClauseContext.class,0);
38677 }
38678 public AliasContext alias() {
38679 return getRuleContext(AliasContext.class,0);
38680 }
38681 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
38682 public TopContext(ParserRuleContext parent, int invokingState) {
38683 super(parent, invokingState);
38684 }
38685 @Override public int getRuleIndex() { return RULE_top; }
38686 @Override
38687 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38688 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTop(this);
38689 else return visitor.visitChildren(this);
38690 }
38691 }
38692
38693 public final TopContext top() throws RecognitionException {
38694 TopContext _localctx = new TopContext(_ctx, getState());
38695 enterRule(_localctx, 744, RULE_top);
38696 int _la;
38697 try {
38698 enterOuterAlt(_localctx, 1);
38699 {
38700 setState(5344);
38701 match(TOP);
38702 setState(5346);
38703 _errHandler.sync(this);
38704 _la = _input.LA(1);
38705 if (_la==LP_) {
38706 {
38707 setState(5345);
38708 match(LP_);
38709 }
38710 }
38711
38712 setState(5348);
38713 topNum();
38714 setState(5350);
38715 _errHandler.sync(this);
38716 switch ( getInterpreter().adaptivePredict(_input,607,_ctx) ) {
38717 case 1:
38718 {
38719 setState(5349);
38720 match(RP_);
38721 }
38722 break;
38723 }
38724 setState(5353);
38725 _errHandler.sync(this);
38726 _la = _input.LA(1);
38727 if (_la==PERCENT) {
38728 {
38729 setState(5352);
38730 match(PERCENT);
38731 }
38732 }
38733
38734 setState(5357);
38735 _errHandler.sync(this);
38736 switch ( getInterpreter().adaptivePredict(_input,609,_ctx) ) {
38737 case 1:
38738 {
38739 setState(5355);
38740 match(WITH);
38741 setState(5356);
38742 match(TIES);
38743 }
38744 break;
38745 }
38746 setState(5372);
38747 _errHandler.sync(this);
38748 switch ( getInterpreter().adaptivePredict(_input,612,_ctx) ) {
38749 case 1:
38750 {
38751 setState(5359);
38752 match(ROW_NUMBER);
38753 setState(5360);
38754 match(LP_);
38755 setState(5361);
38756 match(RP_);
38757 setState(5362);
38758 match(OVER);
38759 setState(5363);
38760 match(LP_);
38761 setState(5364);
38762 orderByClause();
38763 setState(5365);
38764 match(RP_);
38765 setState(5370);
38766 _errHandler.sync(this);
38767 switch ( getInterpreter().adaptivePredict(_input,611,_ctx) ) {
38768 case 1:
38769 {
38770 setState(5367);
38771 _errHandler.sync(this);
38772 _la = _input.LA(1);
38773 if (_la==AS) {
38774 {
38775 setState(5366);
38776 match(AS);
38777 }
38778 }
38779
38780 setState(5369);
38781 alias();
38782 }
38783 break;
38784 }
38785 }
38786 break;
38787 }
38788 }
38789 }
38790 catch (RecognitionException re) {
38791 _localctx.exception = re;
38792 _errHandler.reportError(this, re);
38793 _errHandler.recover(this, re);
38794 }
38795 finally {
38796 exitRule();
38797 }
38798 return _localctx;
38799 }
38800
38801 public static class TopNumContext extends ParserRuleContext {
38802 public NumberLiteralsContext numberLiterals() {
38803 return getRuleContext(NumberLiteralsContext.class,0);
38804 }
38805 public ParameterMarkerContext parameterMarker() {
38806 return getRuleContext(ParameterMarkerContext.class,0);
38807 }
38808 public TopNumContext(ParserRuleContext parent, int invokingState) {
38809 super(parent, invokingState);
38810 }
38811 @Override public int getRuleIndex() { return RULE_topNum; }
38812 @Override
38813 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38814 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTopNum(this);
38815 else return visitor.visitChildren(this);
38816 }
38817 }
38818
38819 public final TopNumContext topNum() throws RecognitionException {
38820 TopNumContext _localctx = new TopNumContext(_ctx, getState());
38821 enterRule(_localctx, 746, RULE_topNum);
38822 try {
38823 setState(5376);
38824 _errHandler.sync(this);
38825 switch (_input.LA(1)) {
38826 case PLUS_:
38827 case MINUS_:
38828 case NUMBER_:
38829 enterOuterAlt(_localctx, 1);
38830 {
38831 setState(5374);
38832 numberLiterals();
38833 }
38834 break;
38835 case QUESTION_:
38836 enterOuterAlt(_localctx, 2);
38837 {
38838 setState(5375);
38839 parameterMarker();
38840 }
38841 break;
38842 default:
38843 throw new NoViableAltException(this);
38844 }
38845 }
38846 catch (RecognitionException re) {
38847 _localctx.exception = re;
38848 _errHandler.reportError(this, re);
38849 _errHandler.recover(this, re);
38850 }
38851 finally {
38852 exitRule();
38853 }
38854 return _localctx;
38855 }
38856
38857 public static class UnqualifiedShorthandContext extends ParserRuleContext {
38858 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
38859 public UnqualifiedShorthandContext(ParserRuleContext parent, int invokingState) {
38860 super(parent, invokingState);
38861 }
38862 @Override public int getRuleIndex() { return RULE_unqualifiedShorthand; }
38863 @Override
38864 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38865 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUnqualifiedShorthand(this);
38866 else return visitor.visitChildren(this);
38867 }
38868 }
38869
38870 public final UnqualifiedShorthandContext unqualifiedShorthand() throws RecognitionException {
38871 UnqualifiedShorthandContext _localctx = new UnqualifiedShorthandContext(_ctx, getState());
38872 enterRule(_localctx, 748, RULE_unqualifiedShorthand);
38873 try {
38874 enterOuterAlt(_localctx, 1);
38875 {
38876 setState(5378);
38877 match(ASTERISK_);
38878 }
38879 }
38880 catch (RecognitionException re) {
38881 _localctx.exception = re;
38882 _errHandler.reportError(this, re);
38883 _errHandler.recover(this, re);
38884 }
38885 finally {
38886 exitRule();
38887 }
38888 return _localctx;
38889 }
38890
38891 public static class QualifiedShorthandContext extends ParserRuleContext {
38892 public IdentifierContext identifier() {
38893 return getRuleContext(IdentifierContext.class,0);
38894 }
38895 public TerminalNode DOT_ASTERISK_() { return getToken(SQLServerStatementParser.DOT_ASTERISK_, 0); }
38896 public QualifiedShorthandContext(ParserRuleContext parent, int invokingState) {
38897 super(parent, invokingState);
38898 }
38899 @Override public int getRuleIndex() { return RULE_qualifiedShorthand; }
38900 @Override
38901 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38902 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQualifiedShorthand(this);
38903 else return visitor.visitChildren(this);
38904 }
38905 }
38906
38907 public final QualifiedShorthandContext qualifiedShorthand() throws RecognitionException {
38908 QualifiedShorthandContext _localctx = new QualifiedShorthandContext(_ctx, getState());
38909 enterRule(_localctx, 750, RULE_qualifiedShorthand);
38910 try {
38911 enterOuterAlt(_localctx, 1);
38912 {
38913 setState(5380);
38914 identifier();
38915 setState(5381);
38916 match(DOT_ASTERISK_);
38917 }
38918 }
38919 catch (RecognitionException re) {
38920 _localctx.exception = re;
38921 _errHandler.reportError(this, re);
38922 _errHandler.recover(this, re);
38923 }
38924 finally {
38925 exitRule();
38926 }
38927 return _localctx;
38928 }
38929
38930 public static class IntoClauseContext extends ParserRuleContext {
38931 public TerminalNode INTO() { return getToken(SQLServerStatementParser.INTO, 0); }
38932 public TableNameContext tableName() {
38933 return getRuleContext(TableNameContext.class,0);
38934 }
38935 public IntoClauseContext(ParserRuleContext parent, int invokingState) {
38936 super(parent, invokingState);
38937 }
38938 @Override public int getRuleIndex() { return RULE_intoClause; }
38939 @Override
38940 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38941 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIntoClause(this);
38942 else return visitor.visitChildren(this);
38943 }
38944 }
38945
38946 public final IntoClauseContext intoClause() throws RecognitionException {
38947 IntoClauseContext _localctx = new IntoClauseContext(_ctx, getState());
38948 enterRule(_localctx, 752, RULE_intoClause);
38949 try {
38950 enterOuterAlt(_localctx, 1);
38951 {
38952 setState(5383);
38953 match(INTO);
38954 setState(5384);
38955 tableName();
38956 }
38957 }
38958 catch (RecognitionException re) {
38959 _localctx.exception = re;
38960 _errHandler.reportError(this, re);
38961 _errHandler.recover(this, re);
38962 }
38963 finally {
38964 exitRule();
38965 }
38966 return _localctx;
38967 }
38968
38969 public static class FromClauseContext extends ParserRuleContext {
38970 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
38971 public TableReferencesContext tableReferences() {
38972 return getRuleContext(TableReferencesContext.class,0);
38973 }
38974 public FromClauseContext(ParserRuleContext parent, int invokingState) {
38975 super(parent, invokingState);
38976 }
38977 @Override public int getRuleIndex() { return RULE_fromClause; }
38978 @Override
38979 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38980 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFromClause(this);
38981 else return visitor.visitChildren(this);
38982 }
38983 }
38984
38985 public final FromClauseContext fromClause() throws RecognitionException {
38986 FromClauseContext _localctx = new FromClauseContext(_ctx, getState());
38987 enterRule(_localctx, 754, RULE_fromClause);
38988 try {
38989 enterOuterAlt(_localctx, 1);
38990 {
38991 setState(5386);
38992 match(FROM);
38993 setState(5387);
38994 tableReferences();
38995 }
38996 }
38997 catch (RecognitionException re) {
38998 _localctx.exception = re;
38999 _errHandler.reportError(this, re);
39000 _errHandler.recover(this, re);
39001 }
39002 finally {
39003 exitRule();
39004 }
39005 return _localctx;
39006 }
39007
39008 public static class TableReferencesContext extends ParserRuleContext {
39009 public List<TableReferenceContext> tableReference() {
39010 return getRuleContexts(TableReferenceContext.class);
39011 }
39012 public TableReferenceContext tableReference(int i) {
39013 return getRuleContext(TableReferenceContext.class,i);
39014 }
39015 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
39016 public TerminalNode COMMA_(int i) {
39017 return getToken(SQLServerStatementParser.COMMA_, i);
39018 }
39019 public TableReferencesContext(ParserRuleContext parent, int invokingState) {
39020 super(parent, invokingState);
39021 }
39022 @Override public int getRuleIndex() { return RULE_tableReferences; }
39023 @Override
39024 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39025 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableReferences(this);
39026 else return visitor.visitChildren(this);
39027 }
39028 }
39029
39030 public final TableReferencesContext tableReferences() throws RecognitionException {
39031 TableReferencesContext _localctx = new TableReferencesContext(_ctx, getState());
39032 enterRule(_localctx, 756, RULE_tableReferences);
39033 int _la;
39034 try {
39035 enterOuterAlt(_localctx, 1);
39036 {
39037 setState(5389);
39038 tableReference();
39039 setState(5394);
39040 _errHandler.sync(this);
39041 _la = _input.LA(1);
39042 while (_la==COMMA_) {
39043 {
39044 {
39045 setState(5390);
39046 match(COMMA_);
39047 setState(5391);
39048 tableReference();
39049 }
39050 }
39051 setState(5396);
39052 _errHandler.sync(this);
39053 _la = _input.LA(1);
39054 }
39055 }
39056 }
39057 catch (RecognitionException re) {
39058 _localctx.exception = re;
39059 _errHandler.reportError(this, re);
39060 _errHandler.recover(this, re);
39061 }
39062 finally {
39063 exitRule();
39064 }
39065 return _localctx;
39066 }
39067
39068 public static class TableReferenceContext extends ParserRuleContext {
39069 public TableFactorContext tableFactor() {
39070 return getRuleContext(TableFactorContext.class,0);
39071 }
39072 public List<JoinedTableContext> joinedTable() {
39073 return getRuleContexts(JoinedTableContext.class);
39074 }
39075 public JoinedTableContext joinedTable(int i) {
39076 return getRuleContext(JoinedTableContext.class,i);
39077 }
39078 public TableReferenceContext(ParserRuleContext parent, int invokingState) {
39079 super(parent, invokingState);
39080 }
39081 @Override public int getRuleIndex() { return RULE_tableReference; }
39082 @Override
39083 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39084 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableReference(this);
39085 else return visitor.visitChildren(this);
39086 }
39087 }
39088
39089 public final TableReferenceContext tableReference() throws RecognitionException {
39090 TableReferenceContext _localctx = new TableReferenceContext(_ctx, getState());
39091 enterRule(_localctx, 758, RULE_tableReference);
39092 int _la;
39093 try {
39094 enterOuterAlt(_localctx, 1);
39095 {
39096 setState(5397);
39097 tableFactor();
39098 setState(5401);
39099 _errHandler.sync(this);
39100 _la = _input.LA(1);
39101 while (((((_la - 86)) & ~0x3f) == 0 && ((1L << (_la - 86)) & ((1L << (NATURAL - 86)) | (1L << (JOIN - 86)) | (1L << (FULL - 86)) | (1L << (INNER - 86)) | (1L << (OUTER - 86)) | (1L << (LEFT - 86)) | (1L << (RIGHT - 86)) | (1L << (CROSS - 86)))) != 0)) {
39102 {
39103 {
39104 setState(5398);
39105 joinedTable();
39106 }
39107 }
39108 setState(5403);
39109 _errHandler.sync(this);
39110 _la = _input.LA(1);
39111 }
39112 }
39113 }
39114 catch (RecognitionException re) {
39115 _localctx.exception = re;
39116 _errHandler.reportError(this, re);
39117 _errHandler.recover(this, re);
39118 }
39119 finally {
39120 exitRule();
39121 }
39122 return _localctx;
39123 }
39124
39125 public static class TableFactorContext extends ParserRuleContext {
39126 public TableNameContext tableName() {
39127 return getRuleContext(TableNameContext.class,0);
39128 }
39129 public AliasContext alias() {
39130 return getRuleContext(AliasContext.class,0);
39131 }
39132 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
39133 public SubqueryContext subquery() {
39134 return getRuleContext(SubqueryContext.class,0);
39135 }
39136 public ColumnNamesContext columnNames() {
39137 return getRuleContext(ColumnNamesContext.class,0);
39138 }
39139 public ExprContext expr() {
39140 return getRuleContext(ExprContext.class,0);
39141 }
39142 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
39143 public TableReferencesContext tableReferences() {
39144 return getRuleContext(TableReferencesContext.class,0);
39145 }
39146 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
39147 public TableFactorContext(ParserRuleContext parent, int invokingState) {
39148 super(parent, invokingState);
39149 }
39150 @Override public int getRuleIndex() { return RULE_tableFactor; }
39151 @Override
39152 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39153 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableFactor(this);
39154 else return visitor.visitChildren(this);
39155 }
39156 }
39157
39158 public final TableFactorContext tableFactor() throws RecognitionException {
39159 TableFactorContext _localctx = new TableFactorContext(_ctx, getState());
39160 enterRule(_localctx, 760, RULE_tableFactor);
39161 int _la;
39162 try {
39163 setState(5430);
39164 _errHandler.sync(this);
39165 switch ( getInterpreter().adaptivePredict(_input,622,_ctx) ) {
39166 case 1:
39167 enterOuterAlt(_localctx, 1);
39168 {
39169 setState(5404);
39170 tableName();
39171 setState(5409);
39172 _errHandler.sync(this);
39173 switch ( getInterpreter().adaptivePredict(_input,617,_ctx) ) {
39174 case 1:
39175 {
39176 setState(5406);
39177 _errHandler.sync(this);
39178 _la = _input.LA(1);
39179 if (_la==AS) {
39180 {
39181 setState(5405);
39182 match(AS);
39183 }
39184 }
39185
39186 setState(5408);
39187 alias();
39188 }
39189 break;
39190 }
39191 }
39192 break;
39193 case 2:
39194 enterOuterAlt(_localctx, 2);
39195 {
39196 setState(5411);
39197 subquery();
39198 setState(5413);
39199 _errHandler.sync(this);
39200 _la = _input.LA(1);
39201 if (_la==AS) {
39202 {
39203 setState(5412);
39204 match(AS);
39205 }
39206 }
39207
39208 setState(5415);
39209 alias();
39210 setState(5417);
39211 _errHandler.sync(this);
39212 _la = _input.LA(1);
39213 if (_la==LP_) {
39214 {
39215 setState(5416);
39216 columnNames();
39217 }
39218 }
39219
39220 }
39221 break;
39222 case 3:
39223 enterOuterAlt(_localctx, 3);
39224 {
39225 setState(5419);
39226 expr(0);
39227 setState(5424);
39228 _errHandler.sync(this);
39229 switch ( getInterpreter().adaptivePredict(_input,621,_ctx) ) {
39230 case 1:
39231 {
39232 setState(5421);
39233 _errHandler.sync(this);
39234 _la = _input.LA(1);
39235 if (_la==AS) {
39236 {
39237 setState(5420);
39238 match(AS);
39239 }
39240 }
39241
39242 setState(5423);
39243 alias();
39244 }
39245 break;
39246 }
39247 }
39248 break;
39249 case 4:
39250 enterOuterAlt(_localctx, 4);
39251 {
39252 setState(5426);
39253 match(LP_);
39254 setState(5427);
39255 tableReferences();
39256 setState(5428);
39257 match(RP_);
39258 }
39259 break;
39260 }
39261 }
39262 catch (RecognitionException re) {
39263 _localctx.exception = re;
39264 _errHandler.reportError(this, re);
39265 _errHandler.recover(this, re);
39266 }
39267 finally {
39268 exitRule();
39269 }
39270 return _localctx;
39271 }
39272
39273 public static class JoinedTableContext extends ParserRuleContext {
39274 public TableFactorContext tableFactor() {
39275 return getRuleContext(TableFactorContext.class,0);
39276 }
39277 public TerminalNode JOIN() { return getToken(SQLServerStatementParser.JOIN, 0); }
39278 public TerminalNode NATURAL() { return getToken(SQLServerStatementParser.NATURAL, 0); }
39279 public JoinSpecificationContext joinSpecification() {
39280 return getRuleContext(JoinSpecificationContext.class,0);
39281 }
39282 public TerminalNode INNER() { return getToken(SQLServerStatementParser.INNER, 0); }
39283 public TerminalNode CROSS() { return getToken(SQLServerStatementParser.CROSS, 0); }
39284 public TerminalNode LEFT() { return getToken(SQLServerStatementParser.LEFT, 0); }
39285 public TerminalNode RIGHT() { return getToken(SQLServerStatementParser.RIGHT, 0); }
39286 public TerminalNode FULL() { return getToken(SQLServerStatementParser.FULL, 0); }
39287 public TerminalNode OUTER() { return getToken(SQLServerStatementParser.OUTER, 0); }
39288 public TerminalNode APPLY() { return getToken(SQLServerStatementParser.APPLY, 0); }
39289 public JoinedTableContext(ParserRuleContext parent, int invokingState) {
39290 super(parent, invokingState);
39291 }
39292 @Override public int getRuleIndex() { return RULE_joinedTable; }
39293 @Override
39294 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39295 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJoinedTable(this);
39296 else return visitor.visitChildren(this);
39297 }
39298 }
39299
39300 public final JoinedTableContext joinedTable() throws RecognitionException {
39301 JoinedTableContext _localctx = new JoinedTableContext(_ctx, getState());
39302 enterRule(_localctx, 762, RULE_joinedTable);
39303 int _la;
39304 try {
39305 setState(5462);
39306 _errHandler.sync(this);
39307 switch ( getInterpreter().adaptivePredict(_input,630,_ctx) ) {
39308 case 1:
39309 enterOuterAlt(_localctx, 1);
39310 {
39311 setState(5433);
39312 _errHandler.sync(this);
39313 _la = _input.LA(1);
39314 if (_la==NATURAL) {
39315 {
39316 setState(5432);
39317 match(NATURAL);
39318 }
39319 }
39320
39321 {
39322 setState(5436);
39323 _errHandler.sync(this);
39324 _la = _input.LA(1);
39325 if (_la==INNER || _la==CROSS) {
39326 {
39327 setState(5435);
39328 _la = _input.LA(1);
39329 if ( !(_la==INNER || _la==CROSS) ) {
39330 _errHandler.recoverInline(this);
39331 }
39332 else {
39333 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39334 _errHandler.reportMatch(this);
39335 consume();
39336 }
39337 }
39338 }
39339
39340 setState(5438);
39341 match(JOIN);
39342 }
39343 setState(5440);
39344 tableFactor();
39345 setState(5442);
39346 _errHandler.sync(this);
39347 _la = _input.LA(1);
39348 if (_la==USING || _la==ON) {
39349 {
39350 setState(5441);
39351 joinSpecification();
39352 }
39353 }
39354
39355 }
39356 break;
39357 case 2:
39358 enterOuterAlt(_localctx, 2);
39359 {
39360 setState(5445);
39361 _errHandler.sync(this);
39362 _la = _input.LA(1);
39363 if (_la==NATURAL) {
39364 {
39365 setState(5444);
39366 match(NATURAL);
39367 }
39368 }
39369
39370 setState(5447);
39371 _la = _input.LA(1);
39372 if ( !(((((_la - 88)) & ~0x3f) == 0 && ((1L << (_la - 88)) & ((1L << (FULL - 88)) | (1L << (LEFT - 88)) | (1L << (RIGHT - 88)))) != 0)) ) {
39373 _errHandler.recoverInline(this);
39374 }
39375 else {
39376 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39377 _errHandler.reportMatch(this);
39378 consume();
39379 }
39380 setState(5449);
39381 _errHandler.sync(this);
39382 _la = _input.LA(1);
39383 if (_la==OUTER) {
39384 {
39385 setState(5448);
39386 match(OUTER);
39387 }
39388 }
39389
39390 setState(5451);
39391 match(JOIN);
39392 setState(5452);
39393 tableFactor();
39394 setState(5454);
39395 _errHandler.sync(this);
39396 _la = _input.LA(1);
39397 if (_la==USING || _la==ON) {
39398 {
39399 setState(5453);
39400 joinSpecification();
39401 }
39402 }
39403
39404 }
39405 break;
39406 case 3:
39407 enterOuterAlt(_localctx, 3);
39408 {
39409 setState(5456);
39410 _la = _input.LA(1);
39411 if ( !(_la==OUTER || _la==CROSS) ) {
39412 _errHandler.recoverInline(this);
39413 }
39414 else {
39415 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39416 _errHandler.reportMatch(this);
39417 consume();
39418 }
39419 setState(5457);
39420 match(APPLY);
39421 setState(5458);
39422 tableFactor();
39423 setState(5460);
39424 _errHandler.sync(this);
39425 _la = _input.LA(1);
39426 if (_la==USING || _la==ON) {
39427 {
39428 setState(5459);
39429 joinSpecification();
39430 }
39431 }
39432
39433 }
39434 break;
39435 }
39436 }
39437 catch (RecognitionException re) {
39438 _localctx.exception = re;
39439 _errHandler.reportError(this, re);
39440 _errHandler.recover(this, re);
39441 }
39442 finally {
39443 exitRule();
39444 }
39445 return _localctx;
39446 }
39447
39448 public static class JoinSpecificationContext extends ParserRuleContext {
39449 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
39450 public ExprContext expr() {
39451 return getRuleContext(ExprContext.class,0);
39452 }
39453 public TerminalNode USING() { return getToken(SQLServerStatementParser.USING, 0); }
39454 public ColumnNamesContext columnNames() {
39455 return getRuleContext(ColumnNamesContext.class,0);
39456 }
39457 public JoinSpecificationContext(ParserRuleContext parent, int invokingState) {
39458 super(parent, invokingState);
39459 }
39460 @Override public int getRuleIndex() { return RULE_joinSpecification; }
39461 @Override
39462 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39463 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJoinSpecification(this);
39464 else return visitor.visitChildren(this);
39465 }
39466 }
39467
39468 public final JoinSpecificationContext joinSpecification() throws RecognitionException {
39469 JoinSpecificationContext _localctx = new JoinSpecificationContext(_ctx, getState());
39470 enterRule(_localctx, 764, RULE_joinSpecification);
39471 try {
39472 setState(5468);
39473 _errHandler.sync(this);
39474 switch (_input.LA(1)) {
39475 case ON:
39476 enterOuterAlt(_localctx, 1);
39477 {
39478 setState(5464);
39479 match(ON);
39480 setState(5465);
39481 expr(0);
39482 }
39483 break;
39484 case USING:
39485 enterOuterAlt(_localctx, 2);
39486 {
39487 setState(5466);
39488 match(USING);
39489 setState(5467);
39490 columnNames();
39491 }
39492 break;
39493 default:
39494 throw new NoViableAltException(this);
39495 }
39496 }
39497 catch (RecognitionException re) {
39498 _localctx.exception = re;
39499 _errHandler.reportError(this, re);
39500 _errHandler.recover(this, re);
39501 }
39502 finally {
39503 exitRule();
39504 }
39505 return _localctx;
39506 }
39507
39508 public static class WhereClauseContext extends ParserRuleContext {
39509 public TerminalNode WHERE() { return getToken(SQLServerStatementParser.WHERE, 0); }
39510 public ExprContext expr() {
39511 return getRuleContext(ExprContext.class,0);
39512 }
39513 public WhereClauseContext(ParserRuleContext parent, int invokingState) {
39514 super(parent, invokingState);
39515 }
39516 @Override public int getRuleIndex() { return RULE_whereClause; }
39517 @Override
39518 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39519 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWhereClause(this);
39520 else return visitor.visitChildren(this);
39521 }
39522 }
39523
39524 public final WhereClauseContext whereClause() throws RecognitionException {
39525 WhereClauseContext _localctx = new WhereClauseContext(_ctx, getState());
39526 enterRule(_localctx, 766, RULE_whereClause);
39527 try {
39528 enterOuterAlt(_localctx, 1);
39529 {
39530 setState(5470);
39531 match(WHERE);
39532 setState(5471);
39533 expr(0);
39534 }
39535 }
39536 catch (RecognitionException re) {
39537 _localctx.exception = re;
39538 _errHandler.reportError(this, re);
39539 _errHandler.recover(this, re);
39540 }
39541 finally {
39542 exitRule();
39543 }
39544 return _localctx;
39545 }
39546
39547 public static class GroupByClauseContext extends ParserRuleContext {
39548 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
39549 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
39550 public List<OrderByItemContext> orderByItem() {
39551 return getRuleContexts(OrderByItemContext.class);
39552 }
39553 public OrderByItemContext orderByItem(int i) {
39554 return getRuleContext(OrderByItemContext.class,i);
39555 }
39556 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
39557 public TerminalNode COMMA_(int i) {
39558 return getToken(SQLServerStatementParser.COMMA_, i);
39559 }
39560 public GroupByClauseContext(ParserRuleContext parent, int invokingState) {
39561 super(parent, invokingState);
39562 }
39563 @Override public int getRuleIndex() { return RULE_groupByClause; }
39564 @Override
39565 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39566 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGroupByClause(this);
39567 else return visitor.visitChildren(this);
39568 }
39569 }
39570
39571 public final GroupByClauseContext groupByClause() throws RecognitionException {
39572 GroupByClauseContext _localctx = new GroupByClauseContext(_ctx, getState());
39573 enterRule(_localctx, 768, RULE_groupByClause);
39574 int _la;
39575 try {
39576 enterOuterAlt(_localctx, 1);
39577 {
39578 setState(5473);
39579 match(GROUP);
39580 setState(5474);
39581 match(BY);
39582 setState(5475);
39583 orderByItem();
39584 setState(5480);
39585 _errHandler.sync(this);
39586 _la = _input.LA(1);
39587 while (_la==COMMA_) {
39588 {
39589 {
39590 setState(5476);
39591 match(COMMA_);
39592 setState(5477);
39593 orderByItem();
39594 }
39595 }
39596 setState(5482);
39597 _errHandler.sync(this);
39598 _la = _input.LA(1);
39599 }
39600 }
39601 }
39602 catch (RecognitionException re) {
39603 _localctx.exception = re;
39604 _errHandler.reportError(this, re);
39605 _errHandler.recover(this, re);
39606 }
39607 finally {
39608 exitRule();
39609 }
39610 return _localctx;
39611 }
39612
39613 public static class HavingClauseContext extends ParserRuleContext {
39614 public TerminalNode HAVING() { return getToken(SQLServerStatementParser.HAVING, 0); }
39615 public ExprContext expr() {
39616 return getRuleContext(ExprContext.class,0);
39617 }
39618 public HavingClauseContext(ParserRuleContext parent, int invokingState) {
39619 super(parent, invokingState);
39620 }
39621 @Override public int getRuleIndex() { return RULE_havingClause; }
39622 @Override
39623 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39624 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHavingClause(this);
39625 else return visitor.visitChildren(this);
39626 }
39627 }
39628
39629 public final HavingClauseContext havingClause() throws RecognitionException {
39630 HavingClauseContext _localctx = new HavingClauseContext(_ctx, getState());
39631 enterRule(_localctx, 770, RULE_havingClause);
39632 try {
39633 enterOuterAlt(_localctx, 1);
39634 {
39635 setState(5483);
39636 match(HAVING);
39637 setState(5484);
39638 expr(0);
39639 }
39640 }
39641 catch (RecognitionException re) {
39642 _localctx.exception = re;
39643 _errHandler.reportError(this, re);
39644 _errHandler.recover(this, re);
39645 }
39646 finally {
39647 exitRule();
39648 }
39649 return _localctx;
39650 }
39651
39652 public static class SubqueryContext extends ParserRuleContext {
39653 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
39654 public AggregationClauseContext aggregationClause() {
39655 return getRuleContext(AggregationClauseContext.class,0);
39656 }
39657 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
39658 public SubqueryContext(ParserRuleContext parent, int invokingState) {
39659 super(parent, invokingState);
39660 }
39661 @Override public int getRuleIndex() { return RULE_subquery; }
39662 @Override
39663 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39664 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSubquery(this);
39665 else return visitor.visitChildren(this);
39666 }
39667 }
39668
39669 public final SubqueryContext subquery() throws RecognitionException {
39670 SubqueryContext _localctx = new SubqueryContext(_ctx, getState());
39671 enterRule(_localctx, 772, RULE_subquery);
39672 try {
39673 enterOuterAlt(_localctx, 1);
39674 {
39675 setState(5486);
39676 match(LP_);
39677 setState(5487);
39678 aggregationClause();
39679 setState(5488);
39680 match(RP_);
39681 }
39682 }
39683 catch (RecognitionException re) {
39684 _localctx.exception = re;
39685 _errHandler.reportError(this, re);
39686 _errHandler.recover(this, re);
39687 }
39688 finally {
39689 exitRule();
39690 }
39691 return _localctx;
39692 }
39693
39694 public static class WithClauseContext extends ParserRuleContext {
39695 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
39696 public CteClauseSetContext cteClauseSet() {
39697 return getRuleContext(CteClauseSetContext.class,0);
39698 }
39699 public WithClauseContext(ParserRuleContext parent, int invokingState) {
39700 super(parent, invokingState);
39701 }
39702 @Override public int getRuleIndex() { return RULE_withClause; }
39703 @Override
39704 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39705 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithClause(this);
39706 else return visitor.visitChildren(this);
39707 }
39708 }
39709
39710 public final WithClauseContext withClause() throws RecognitionException {
39711 WithClauseContext _localctx = new WithClauseContext(_ctx, getState());
39712 enterRule(_localctx, 774, RULE_withClause);
39713 try {
39714 enterOuterAlt(_localctx, 1);
39715 {
39716 setState(5490);
39717 match(WITH);
39718 setState(5491);
39719 cteClauseSet();
39720 }
39721 }
39722 catch (RecognitionException re) {
39723 _localctx.exception = re;
39724 _errHandler.reportError(this, re);
39725 _errHandler.recover(this, re);
39726 }
39727 finally {
39728 exitRule();
39729 }
39730 return _localctx;
39731 }
39732
39733 public static class CteClauseSetContext extends ParserRuleContext {
39734 public List<CteClauseContext> cteClause() {
39735 return getRuleContexts(CteClauseContext.class);
39736 }
39737 public CteClauseContext cteClause(int i) {
39738 return getRuleContext(CteClauseContext.class,i);
39739 }
39740 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
39741 public TerminalNode COMMA_(int i) {
39742 return getToken(SQLServerStatementParser.COMMA_, i);
39743 }
39744 public CteClauseSetContext(ParserRuleContext parent, int invokingState) {
39745 super(parent, invokingState);
39746 }
39747 @Override public int getRuleIndex() { return RULE_cteClauseSet; }
39748 @Override
39749 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39750 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCteClauseSet(this);
39751 else return visitor.visitChildren(this);
39752 }
39753 }
39754
39755 public final CteClauseSetContext cteClauseSet() throws RecognitionException {
39756 CteClauseSetContext _localctx = new CteClauseSetContext(_ctx, getState());
39757 enterRule(_localctx, 776, RULE_cteClauseSet);
39758 int _la;
39759 try {
39760 enterOuterAlt(_localctx, 1);
39761 {
39762 setState(5493);
39763 cteClause();
39764 setState(5498);
39765 _errHandler.sync(this);
39766 _la = _input.LA(1);
39767 while (_la==COMMA_) {
39768 {
39769 {
39770 setState(5494);
39771 match(COMMA_);
39772 setState(5495);
39773 cteClause();
39774 }
39775 }
39776 setState(5500);
39777 _errHandler.sync(this);
39778 _la = _input.LA(1);
39779 }
39780 }
39781 }
39782 catch (RecognitionException re) {
39783 _localctx.exception = re;
39784 _errHandler.reportError(this, re);
39785 _errHandler.recover(this, re);
39786 }
39787 finally {
39788 exitRule();
39789 }
39790 return _localctx;
39791 }
39792
39793 public static class CteClauseContext extends ParserRuleContext {
39794 public IdentifierContext identifier() {
39795 return getRuleContext(IdentifierContext.class,0);
39796 }
39797 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
39798 public SubqueryContext subquery() {
39799 return getRuleContext(SubqueryContext.class,0);
39800 }
39801 public ColumnNamesContext columnNames() {
39802 return getRuleContext(ColumnNamesContext.class,0);
39803 }
39804 public CteClauseContext(ParserRuleContext parent, int invokingState) {
39805 super(parent, invokingState);
39806 }
39807 @Override public int getRuleIndex() { return RULE_cteClause; }
39808 @Override
39809 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39810 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCteClause(this);
39811 else return visitor.visitChildren(this);
39812 }
39813 }
39814
39815 public final CteClauseContext cteClause() throws RecognitionException {
39816 CteClauseContext _localctx = new CteClauseContext(_ctx, getState());
39817 enterRule(_localctx, 778, RULE_cteClause);
39818 int _la;
39819 try {
39820 enterOuterAlt(_localctx, 1);
39821 {
39822 setState(5501);
39823 identifier();
39824 setState(5503);
39825 _errHandler.sync(this);
39826 _la = _input.LA(1);
39827 if (_la==LP_) {
39828 {
39829 setState(5502);
39830 columnNames();
39831 }
39832 }
39833
39834 setState(5505);
39835 match(AS);
39836 setState(5506);
39837 subquery();
39838 }
39839 }
39840 catch (RecognitionException re) {
39841 _localctx.exception = re;
39842 _errHandler.reportError(this, re);
39843 _errHandler.recover(this, re);
39844 }
39845 finally {
39846 exitRule();
39847 }
39848 return _localctx;
39849 }
39850
39851 public static class OutputClauseContext extends ParserRuleContext {
39852 public TerminalNode OUTPUT() { return getToken(SQLServerStatementParser.OUTPUT, 0); }
39853 public OutputWithColumnsContext outputWithColumns() {
39854 return getRuleContext(OutputWithColumnsContext.class,0);
39855 }
39856 public OutputWithAateriskContext outputWithAaterisk() {
39857 return getRuleContext(OutputWithAateriskContext.class,0);
39858 }
39859 public TerminalNode INTO() { return getToken(SQLServerStatementParser.INTO, 0); }
39860 public OutputTableNameContext outputTableName() {
39861 return getRuleContext(OutputTableNameContext.class,0);
39862 }
39863 public ColumnNamesContext columnNames() {
39864 return getRuleContext(ColumnNamesContext.class,0);
39865 }
39866 public OutputClauseContext(ParserRuleContext parent, int invokingState) {
39867 super(parent, invokingState);
39868 }
39869 @Override public int getRuleIndex() { return RULE_outputClause; }
39870 @Override
39871 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39872 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputClause(this);
39873 else return visitor.visitChildren(this);
39874 }
39875 }
39876
39877 public final OutputClauseContext outputClause() throws RecognitionException {
39878 OutputClauseContext _localctx = new OutputClauseContext(_ctx, getState());
39879 enterRule(_localctx, 780, RULE_outputClause);
39880 int _la;
39881 try {
39882 enterOuterAlt(_localctx, 1);
39883 {
39884 setState(5508);
39885 match(OUTPUT);
39886 setState(5511);
39887 _errHandler.sync(this);
39888 switch ( getInterpreter().adaptivePredict(_input,635,_ctx) ) {
39889 case 1:
39890 {
39891 setState(5509);
39892 outputWithColumns();
39893 }
39894 break;
39895 case 2:
39896 {
39897 setState(5510);
39898 outputWithAaterisk();
39899 }
39900 break;
39901 }
39902 setState(5518);
39903 _errHandler.sync(this);
39904 _la = _input.LA(1);
39905 if (_la==INTO) {
39906 {
39907 setState(5513);
39908 match(INTO);
39909 setState(5514);
39910 outputTableName();
39911 setState(5516);
39912 _errHandler.sync(this);
39913 _la = _input.LA(1);
39914 if (_la==LP_) {
39915 {
39916 setState(5515);
39917 columnNames();
39918 }
39919 }
39920
39921 }
39922 }
39923
39924 }
39925 }
39926 catch (RecognitionException re) {
39927 _localctx.exception = re;
39928 _errHandler.reportError(this, re);
39929 _errHandler.recover(this, re);
39930 }
39931 finally {
39932 exitRule();
39933 }
39934 return _localctx;
39935 }
39936
39937 public static class OutputWithColumnsContext extends ParserRuleContext {
39938 public List<OutputWithColumnContext> outputWithColumn() {
39939 return getRuleContexts(OutputWithColumnContext.class);
39940 }
39941 public OutputWithColumnContext outputWithColumn(int i) {
39942 return getRuleContext(OutputWithColumnContext.class,i);
39943 }
39944 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
39945 public TerminalNode COMMA_(int i) {
39946 return getToken(SQLServerStatementParser.COMMA_, i);
39947 }
39948 public OutputWithColumnsContext(ParserRuleContext parent, int invokingState) {
39949 super(parent, invokingState);
39950 }
39951 @Override public int getRuleIndex() { return RULE_outputWithColumns; }
39952 @Override
39953 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39954 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputWithColumns(this);
39955 else return visitor.visitChildren(this);
39956 }
39957 }
39958
39959 public final OutputWithColumnsContext outputWithColumns() throws RecognitionException {
39960 OutputWithColumnsContext _localctx = new OutputWithColumnsContext(_ctx, getState());
39961 enterRule(_localctx, 782, RULE_outputWithColumns);
39962 int _la;
39963 try {
39964 enterOuterAlt(_localctx, 1);
39965 {
39966 setState(5520);
39967 outputWithColumn();
39968 setState(5525);
39969 _errHandler.sync(this);
39970 _la = _input.LA(1);
39971 while (_la==COMMA_) {
39972 {
39973 {
39974 setState(5521);
39975 match(COMMA_);
39976 setState(5522);
39977 outputWithColumn();
39978 }
39979 }
39980 setState(5527);
39981 _errHandler.sync(this);
39982 _la = _input.LA(1);
39983 }
39984 }
39985 }
39986 catch (RecognitionException re) {
39987 _localctx.exception = re;
39988 _errHandler.reportError(this, re);
39989 _errHandler.recover(this, re);
39990 }
39991 finally {
39992 exitRule();
39993 }
39994 return _localctx;
39995 }
39996
39997 public static class OutputWithColumnContext extends ParserRuleContext {
39998 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
39999 public NameContext name() {
40000 return getRuleContext(NameContext.class,0);
40001 }
40002 public TerminalNode INSERTED() { return getToken(SQLServerStatementParser.INSERTED, 0); }
40003 public TerminalNode DELETED() { return getToken(SQLServerStatementParser.DELETED, 0); }
40004 public AliasContext alias() {
40005 return getRuleContext(AliasContext.class,0);
40006 }
40007 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
40008 public OutputWithColumnContext(ParserRuleContext parent, int invokingState) {
40009 super(parent, invokingState);
40010 }
40011 @Override public int getRuleIndex() { return RULE_outputWithColumn; }
40012 @Override
40013 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40014 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputWithColumn(this);
40015 else return visitor.visitChildren(this);
40016 }
40017 }
40018
40019 public final OutputWithColumnContext outputWithColumn() throws RecognitionException {
40020 OutputWithColumnContext _localctx = new OutputWithColumnContext(_ctx, getState());
40021 enterRule(_localctx, 784, RULE_outputWithColumn);
40022 int _la;
40023 try {
40024 enterOuterAlt(_localctx, 1);
40025 {
40026 setState(5528);
40027 _la = _input.LA(1);
40028 if ( !(_la==INSERTED || _la==DELETED) ) {
40029 _errHandler.recoverInline(this);
40030 }
40031 else {
40032 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40033 _errHandler.reportMatch(this);
40034 consume();
40035 }
40036 setState(5529);
40037 match(DOT_);
40038 setState(5530);
40039 name();
40040 setState(5535);
40041 _errHandler.sync(this);
40042 switch ( getInterpreter().adaptivePredict(_input,640,_ctx) ) {
40043 case 1:
40044 {
40045 setState(5532);
40046 _errHandler.sync(this);
40047 _la = _input.LA(1);
40048 if (_la==AS) {
40049 {
40050 setState(5531);
40051 match(AS);
40052 }
40053 }
40054
40055 setState(5534);
40056 alias();
40057 }
40058 break;
40059 }
40060 }
40061 }
40062 catch (RecognitionException re) {
40063 _localctx.exception = re;
40064 _errHandler.reportError(this, re);
40065 _errHandler.recover(this, re);
40066 }
40067 finally {
40068 exitRule();
40069 }
40070 return _localctx;
40071 }
40072
40073 public static class OutputWithAateriskContext extends ParserRuleContext {
40074 public TerminalNode DOT_ASTERISK_() { return getToken(SQLServerStatementParser.DOT_ASTERISK_, 0); }
40075 public TerminalNode INSERTED() { return getToken(SQLServerStatementParser.INSERTED, 0); }
40076 public TerminalNode DELETED() { return getToken(SQLServerStatementParser.DELETED, 0); }
40077 public OutputWithAateriskContext(ParserRuleContext parent, int invokingState) {
40078 super(parent, invokingState);
40079 }
40080 @Override public int getRuleIndex() { return RULE_outputWithAaterisk; }
40081 @Override
40082 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40083 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputWithAaterisk(this);
40084 else return visitor.visitChildren(this);
40085 }
40086 }
40087
40088 public final OutputWithAateriskContext outputWithAaterisk() throws RecognitionException {
40089 OutputWithAateriskContext _localctx = new OutputWithAateriskContext(_ctx, getState());
40090 enterRule(_localctx, 786, RULE_outputWithAaterisk);
40091 int _la;
40092 try {
40093 enterOuterAlt(_localctx, 1);
40094 {
40095 setState(5537);
40096 _la = _input.LA(1);
40097 if ( !(_la==INSERTED || _la==DELETED) ) {
40098 _errHandler.recoverInline(this);
40099 }
40100 else {
40101 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40102 _errHandler.reportMatch(this);
40103 consume();
40104 }
40105 setState(5538);
40106 match(DOT_ASTERISK_);
40107 }
40108 }
40109 catch (RecognitionException re) {
40110 _localctx.exception = re;
40111 _errHandler.reportError(this, re);
40112 _errHandler.recover(this, re);
40113 }
40114 finally {
40115 exitRule();
40116 }
40117 return _localctx;
40118 }
40119
40120 public static class OutputTableNameContext extends ParserRuleContext {
40121 public TerminalNode AT_() { return getToken(SQLServerStatementParser.AT_, 0); }
40122 public NameContext name() {
40123 return getRuleContext(NameContext.class,0);
40124 }
40125 public TableNameContext tableName() {
40126 return getRuleContext(TableNameContext.class,0);
40127 }
40128 public OutputTableNameContext(ParserRuleContext parent, int invokingState) {
40129 super(parent, invokingState);
40130 }
40131 @Override public int getRuleIndex() { return RULE_outputTableName; }
40132 @Override
40133 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40134 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputTableName(this);
40135 else return visitor.visitChildren(this);
40136 }
40137 }
40138
40139 public final OutputTableNameContext outputTableName() throws RecognitionException {
40140 OutputTableNameContext _localctx = new OutputTableNameContext(_ctx, getState());
40141 enterRule(_localctx, 788, RULE_outputTableName);
40142 try {
40143 setState(5543);
40144 _errHandler.sync(this);
40145 switch (_input.LA(1)) {
40146 case AT_:
40147 enterOuterAlt(_localctx, 1);
40148 {
40149 {
40150 setState(5540);
40151 match(AT_);
40152 setState(5541);
40153 name();
40154 }
40155 }
40156 break;
40157 case DOT_:
40158 case TRUNCATE:
40159 case SCHEMA:
40160 case COLUMNS:
40161 case PRECISION:
40162 case FUNCTION:
40163 case TRIGGER:
40164 case CAST:
40165 case TRIM:
40166 case SUBSTRING:
40167 case OFF:
40168 case GROUP:
40169 case LIMIT:
40170 case OFFSET:
40171 case SAVEPOINT:
40172 case BOOLEAN:
40173 case ARRAY:
40174 case DATE:
40175 case TIMESTAMP:
40176 case LOCALTIME:
40177 case LOCALTIMESTAMP:
40178 case YEAR:
40179 case QUARTER:
40180 case MONTH:
40181 case WEEK:
40182 case DAY:
40183 case SECOND:
40184 case MICROSECOND:
40185 case MAX:
40186 case MIN:
40187 case SUM:
40188 case COUNT:
40189 case AVG:
40190 case ENABLE:
40191 case DISABLE:
40192 case INSTANCE:
40193 case DO:
40194 case DEFINER:
40195 case SQL:
40196 case CASCADED:
40197 case LOCAL:
40198 case NEXT:
40199 case NAME:
40200 case INTEGER:
40201 case TYPE:
40202 case TEXT:
40203 case VIEWS:
40204 case READ_ONLY:
40205 case DATABASE:
40206 case RETURNS:
40207 case DATEPART:
40208 case PASSWORD:
40209 case BINARY:
40210 case HIDDEN_:
40211 case MOD:
40212 case PARTITION:
40213 case PARTITIONS:
40214 case TOP:
40215 case ROW:
40216 case ROWS:
40217 case XOR:
40218 case ALWAYS:
40219 case ROLE:
40220 case START:
40221 case ALGORITHM:
40222 case AUTO:
40223 case BLOCKERS:
40224 case CLUSTERED:
40225 case NONCLUSTERED:
40226 case COLUMNSTORE:
40227 case CONTENT:
40228 case YEARS:
40229 case MONTHS:
40230 case WEEKS:
40231 case DAYS:
40232 case MINUTES:
40233 case DENY:
40234 case DETERMINISTIC:
40235 case DISTRIBUTION:
40236 case DOCUMENT:
40237 case DURABILITY:
40238 case ENCRYPTED:
40239 case FILESTREAM:
40240 case FILETABLE:
40241 case FILLFACTOR:
40242 case FOLLOWING:
40243 case HASH:
40244 case HEAP:
40245 case INBOUND:
40246 case OUTBOUND:
40247 case UNBOUNDED:
40248 case INFINITE:
40249 case LOGIN:
40250 case MASKED:
40251 case MAXDOP:
40252 case MOVE:
40253 case NOCHECK:
40254 case OBJECT:
40255 case ONLINE:
40256 case OVER:
40257 case PAGE:
40258 case PAUSED:
40259 case PERIOD:
40260 case PERSISTED:
40261 case PRECEDING:
40262 case RANDOMIZED:
40263 case RANGE:
40264 case REBUILD:
40265 case REPLICATE:
40266 case REPLICATION:
40267 case RESUMABLE:
40268 case ROWGUIDCOL:
40269 case SAVE:
40270 case SELF:
40271 case SPARSE:
40272 case SWITCH:
40273 case TRAN:
40274 case TRANCOUNT:
40275 case CONTROL:
40276 case CONCAT:
40277 case TAKE:
40278 case OWNERSHIP:
40279 case DEFINITION:
40280 case APPLICATION:
40281 case ASSEMBLY:
40282 case SYMMETRIC:
40283 case ASYMMETRIC:
40284 case SERVER:
40285 case RECEIVE:
40286 case CHANGE:
40287 case TRACE:
40288 case TRACKING:
40289 case RESOURCES:
40290 case SETTINGS:
40291 case STATE:
40292 case AVAILABILITY:
40293 case CREDENTIAL:
40294 case ENDPOINT:
40295 case EVENT:
40296 case NOTIFICATION:
40297 case LINKED:
40298 case AUDIT:
40299 case DDL:
40300 case XML:
40301 case IMPERSONATE:
40302 case SECURABLES:
40303 case AUTHENTICATE:
40304 case EXTERNAL:
40305 case ACCESS:
40306 case ADMINISTER:
40307 case BULK:
40308 case OPERATIONS:
40309 case UNSAFE:
40310 case SHUTDOWN:
40311 case SCOPED:
40312 case CONFIGURATION:
40313 case DATASPACE:
40314 case SERVICE:
40315 case CERTIFICATE:
40316 case CONTRACT:
40317 case ENCRYPTION:
40318 case MASTER:
40319 case DATA:
40320 case SOURCE:
40321 case FILE:
40322 case FORMAT:
40323 case LIBRARY:
40324 case FULLTEXT:
40325 case MASK:
40326 case UNMASK:
40327 case MESSAGE:
40328 case REMOTE:
40329 case BINDING:
40330 case ROUTE:
40331 case SECURITY:
40332 case POLICY:
40333 case AGGREGATE:
40334 case QUEUE:
40335 case RULE:
40336 case SYNONYM:
40337 case COLLECTION:
40338 case SCRIPT:
40339 case KILL:
40340 case BACKUP:
40341 case LOG:
40342 case SHOWPLAN:
40343 case SUBSCRIBE:
40344 case QUERY:
40345 case NOTIFICATIONS:
40346 case CHECKPOINT:
40347 case SEQUENCE:
40348 case ABORT_AFTER_WAIT:
40349 case ALLOW_PAGE_LOCKS:
40350 case ALLOW_ROW_LOCKS:
40351 case ALL_SPARSE_COLUMNS:
40352 case BUCKET_COUNT:
40353 case COLUMNSTORE_ARCHIVE:
40354 case COLUMN_ENCRYPTION_KEY:
40355 case COLUMN_SET:
40356 case COMPRESSION_DELAY:
40357 case DATABASE_DEAULT:
40358 case DATA_COMPRESSION:
40359 case DATA_CONSISTENCY_CHECK:
40360 case ENCRYPTION_TYPE:
40361 case SYSTEM_TIME:
40362 case SYSTEM_VERSIONING:
40363 case TEXTIMAGE_ON:
40364 case WAIT_AT_LOW_PRIORITY:
40365 case STATISTICS_INCREMENTAL:
40366 case STATISTICS_NORECOMPUTE:
40367 case ROUND_ROBIN:
40368 case SCHEMA_AND_DATA:
40369 case SCHEMA_ONLY:
40370 case SORT_IN_TEMPDB:
40371 case IGNORE_DUP_KEY:
40372 case IMPLICIT_TRANSACTIONS:
40373 case MAX_DURATION:
40374 case MEMORY_OPTIMIZED:
40375 case MIGRATION_STATE:
40376 case PAD_INDEX:
40377 case REMOTE_DATA_ARCHIVE:
40378 case FILESTREAM_ON:
40379 case FILETABLE_COLLATE_FILENAME:
40380 case FILETABLE_DIRECTORY:
40381 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
40382 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
40383 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
40384 case FILTER_PREDICATE:
40385 case HISTORY_RETENTION_PERIOD:
40386 case HISTORY_TABLE:
40387 case LOCK_ESCALATION:
40388 case DROP_EXISTING:
40389 case ROW_NUMBER:
40390 case FIRST:
40391 case DATETIME2:
40392 case OUTPUT:
40393 case INSERTED:
40394 case DELETED:
40395 case FILENAME:
40396 case SIZE:
40397 case MAXSIZE:
40398 case FILEGROWTH:
40399 case UNLIMITED:
40400 case KB:
40401 case MB:
40402 case GB:
40403 case TB:
40404 case CONTAINS:
40405 case MEMORY_OPTIMIZED_DATA:
40406 case FILEGROUP:
40407 case NON_TRANSACTED_ACCESS:
40408 case DB_CHAINING:
40409 case TRUSTWORTHY:
40410 case FORWARD_ONLY:
40411 case KEYSET:
40412 case FAST_FORWARD:
40413 case SCROLL_LOCKS:
40414 case OPTIMISTIC:
40415 case TYPE_WARNING:
40416 case SCHEMABINDING:
40417 case CALLER:
40418 case INPUT:
40419 case OWNER:
40420 case SNAPSHOT:
40421 case REPEATABLE:
40422 case SERIALIZABLE:
40423 case NATIVE_COMPILATION:
40424 case VIEW_METADATA:
40425 case INSTEAD:
40426 case APPEND:
40427 case INCREMENT:
40428 case CACHE:
40429 case MINVALUE:
40430 case MAXVALUE:
40431 case RESTART:
40432 case LOB_COMPACTION:
40433 case COMPRESS_ALL_ROW_GROUPS:
40434 case REORGANIZE:
40435 case RESUME:
40436 case PAUSE:
40437 case ABORT:
40438 case ACCELERATED_DATABASE_RECOVERY:
40439 case PERSISTENT_VERSION_STORE_FILEGROUP:
40440 case IMMEDIATE:
40441 case NO_WAIT:
40442 case TARGET_RECOVERY_TIME:
40443 case SECONDS:
40444 case HONOR_BROKER_PRIORITY:
40445 case ERROR_BROKER_CONVERSATIONS:
40446 case NEW_BROKER:
40447 case DISABLE_BROKER:
40448 case ENABLE_BROKER:
40449 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
40450 case READ_COMMITTED_SNAPSHOT:
40451 case ALLOW_SNAPSHOT_ISOLATION:
40452 case RECURSIVE_TRIGGERS:
40453 case QUOTED_IDENTIFIER:
40454 case NUMERIC_ROUNDABORT:
40455 case CONCAT_NULL_YIELDS_NULL:
40456 case COMPATIBILITY_LEVEL:
40457 case ARITHABORT:
40458 case ANSI_WARNINGS:
40459 case ANSI_PADDING:
40460 case ANSI_NULLS:
40461 case ANSI_NULL_DEFAULT:
40462 case PAGE_VERIFY:
40463 case CHECKSUM:
40464 case TORN_PAGE_DETECTION:
40465 case BULK_LOGGED:
40466 case RECOVERY:
40467 case TOTAL_EXECUTION_CPU_TIME_MS:
40468 case TOTAL_COMPILE_CPU_TIME_MS:
40469 case STALE_CAPTURE_POLICY_THRESHOLD:
40470 case EXECUTION_COUNT:
40471 case QUERY_CAPTURE_POLICY:
40472 case WAIT_STATS_CAPTURE_MODE:
40473 case MAX_PLANS_PER_QUERY:
40474 case QUERY_CAPTURE_MODE:
40475 case SIZE_BASED_CLEANUP_MODE:
40476 case INTERVAL_LENGTH_MINUTES:
40477 case MAX_STORAGE_SIZE_MB:
40478 case DATA_FLUSH_INTERVAL_SECONDS:
40479 case CLEANUP_POLICY:
40480 case CUSTOM:
40481 case STALE_QUERY_THRESHOLD_DAYS:
40482 case OPERATION_MODE:
40483 case QUERY_STORE:
40484 case CURSOR_DEFAULT:
40485 case GLOBAL:
40486 case CURSOR_CLOSE_ON_COMMIT:
40487 case HOURS:
40488 case CHANGE_RETENTION:
40489 case AUTO_CLEANUP:
40490 case CHANGE_TRACKING:
40491 case AUTOMATIC_TUNING:
40492 case FORCE_LAST_GOOD_PLAN:
40493 case AUTO_UPDATE_STATISTICS_ASYNC:
40494 case AUTO_UPDATE_STATISTICS:
40495 case AUTO_SHRINK:
40496 case AUTO_CREATE_STATISTICS:
40497 case INCREMENTAL:
40498 case AUTO_CLOSE:
40499 case DATA_RETENTION:
40500 case TEMPORAL_HISTORY_RETENTION:
40501 case EDITION:
40502 case MIXED_PAGE_ALLOCATION:
40503 case DISABLED:
40504 case ALLOWED:
40505 case HADR:
40506 case MULTI_USER:
40507 case RESTRICTED_USER:
40508 case SINGLE_USER:
40509 case OFFLINE:
40510 case EMERGENCY:
40511 case SUSPEND:
40512 case DATE_CORRELATION_OPTIMIZATION:
40513 case ELASTIC_POOL:
40514 case SERVICE_OBJECTIVE:
40515 case DATABASE_NAME:
40516 case ALLOW_CONNECTIONS:
40517 case GEO:
40518 case NAMED:
40519 case DATEFIRST:
40520 case BACKUP_STORAGE_REDUNDANCY:
40521 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
40522 case SECONDARY:
40523 case FAILOVER:
40524 case DEFAULT_FULLTEXT_LANGUAGE:
40525 case DEFAULT_LANGUAGE:
40526 case INLINE:
40527 case NESTED_TRIGGERS:
40528 case TRANSFORM_NOISE_WORDS:
40529 case TWO_DIGIT_YEAR_CUTOFF:
40530 case PERSISTENT_LOG_BUFFER:
40531 case DIRECTORY_NAME:
40532 case DATEFORMAT:
40533 case DELAYED_DURABILITY:
40534 case AUTHORIZATION:
40535 case TRANSFER:
40536 case PROVIDER:
40537 case SEARCH:
40538 case MEMBER:
40539 case IDENTIFIER_:
40540 case DELIMITED_IDENTIFIER_:
40541 enterOuterAlt(_localctx, 2);
40542 {
40543 setState(5542);
40544 tableName();
40545 }
40546 break;
40547 default:
40548 throw new NoViableAltException(this);
40549 }
40550 }
40551 catch (RecognitionException re) {
40552 _localctx.exception = re;
40553 _errHandler.reportError(this, re);
40554 _errHandler.recover(this, re);
40555 }
40556 finally {
40557 exitRule();
40558 }
40559 return _localctx;
40560 }
40561
40562 public static class QueryHintContext extends ParserRuleContext {
40563 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
40564 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
40565 public TerminalNode ORDER() { return getToken(SQLServerStatementParser.ORDER, 0); }
40566 public TerminalNode UNION() { return getToken(SQLServerStatementParser.UNION, 0); }
40567 public TerminalNode CONCAT() { return getToken(SQLServerStatementParser.CONCAT, 0); }
40568 public TerminalNode MERGE() { return getToken(SQLServerStatementParser.MERGE, 0); }
40569 public TerminalNode JOIN() { return getToken(SQLServerStatementParser.JOIN, 0); }
40570 public TerminalNode LOOP() { return getToken(SQLServerStatementParser.LOOP, 0); }
40571 public TerminalNode EXPAND() { return getToken(SQLServerStatementParser.EXPAND, 0); }
40572 public TerminalNode VIEWS() { return getToken(SQLServerStatementParser.VIEWS, 0); }
40573 public TerminalNode FAST() { return getToken(SQLServerStatementParser.FAST, 0); }
40574 public TerminalNode INT_NUM_() { return getToken(SQLServerStatementParser.INT_NUM_, 0); }
40575 public TerminalNode FORCE() { return getToken(SQLServerStatementParser.FORCE, 0); }
40576 public TerminalNode EXTERNALPUSHDOWN() { return getToken(SQLServerStatementParser.EXTERNALPUSHDOWN, 0); }
40577 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
40578 public TerminalNode SCALEOUTEXECUTION() { return getToken(SQLServerStatementParser.SCALEOUTEXECUTION, 0); }
40579 public TerminalNode IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX() { return getToken(SQLServerStatementParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX, 0); }
40580 public TerminalNode KEEP() { return getToken(SQLServerStatementParser.KEEP, 0); }
40581 public TerminalNode PLAN() { return getToken(SQLServerStatementParser.PLAN, 0); }
40582 public TerminalNode KEEPFIXED() { return getToken(SQLServerStatementParser.KEEPFIXED, 0); }
40583 public TerminalNode MAX_GRANT_PERCENT() { return getToken(SQLServerStatementParser.MAX_GRANT_PERCENT, 0); }
40584 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
40585 public TerminalNode EQ_(int i) {
40586 return getToken(SQLServerStatementParser.EQ_, i);
40587 }
40588 public TerminalNode DECIMAL_NUM_() { return getToken(SQLServerStatementParser.DECIMAL_NUM_, 0); }
40589 public TerminalNode MIN_GRANT_PERCENT() { return getToken(SQLServerStatementParser.MIN_GRANT_PERCENT, 0); }
40590 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
40591 public TerminalNode MAXRECURSION() { return getToken(SQLServerStatementParser.MAXRECURSION, 0); }
40592 public TerminalNode NO_PERFORMANCE_SPOOL() { return getToken(SQLServerStatementParser.NO_PERFORMANCE_SPOOL, 0); }
40593 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
40594 public TerminalNode LP_(int i) {
40595 return getToken(SQLServerStatementParser.LP_, i);
40596 }
40597 public TerminalNode OPTIMIZE() { return getToken(SQLServerStatementParser.OPTIMIZE, 0); }
40598 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
40599 public VariableNameContext variableName() {
40600 return getRuleContext(VariableNameContext.class,0);
40601 }
40602 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
40603 public TerminalNode RP_(int i) {
40604 return getToken(SQLServerStatementParser.RP_, i);
40605 }
40606 public List<TerminalNode> UNKNOWN() { return getTokens(SQLServerStatementParser.UNKNOWN); }
40607 public TerminalNode UNKNOWN(int i) {
40608 return getToken(SQLServerStatementParser.UNKNOWN, i);
40609 }
40610 public List<LiteralsContext> literals() {
40611 return getRuleContexts(LiteralsContext.class);
40612 }
40613 public LiteralsContext literals(int i) {
40614 return getRuleContext(LiteralsContext.class,i);
40615 }
40616 public TerminalNode PARAMETERIZATION() { return getToken(SQLServerStatementParser.PARAMETERIZATION, 0); }
40617 public TerminalNode SIMPLE() { return getToken(SQLServerStatementParser.SIMPLE, 0); }
40618 public TerminalNode FORCED() { return getToken(SQLServerStatementParser.FORCED, 0); }
40619 public TerminalNode QUERYTRACEON() { return getToken(SQLServerStatementParser.QUERYTRACEON, 0); }
40620 public TerminalNode RECOMPILE() { return getToken(SQLServerStatementParser.RECOMPILE, 0); }
40621 public TerminalNode ROBUST() { return getToken(SQLServerStatementParser.ROBUST, 0); }
40622 public TerminalNode USE() { return getToken(SQLServerStatementParser.USE, 0); }
40623 public TerminalNode HINT() { return getToken(SQLServerStatementParser.HINT, 0); }
40624 public List<UseHitNameContext> useHitName() {
40625 return getRuleContexts(UseHitNameContext.class);
40626 }
40627 public UseHitNameContext useHitName(int i) {
40628 return getRuleContext(UseHitNameContext.class,i);
40629 }
40630 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
40631 public QueryHintContext(ParserRuleContext parent, int invokingState) {
40632 super(parent, invokingState);
40633 }
40634 @Override public int getRuleIndex() { return RULE_queryHint; }
40635 @Override
40636 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40637 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryHint(this);
40638 else return visitor.visitChildren(this);
40639 }
40640 }
40641
40642 public final QueryHintContext queryHint() throws RecognitionException {
40643 QueryHintContext _localctx = new QueryHintContext(_ctx, getState());
40644 enterRule(_localctx, 790, RULE_queryHint);
40645 int _la;
40646 try {
40647 setState(5616);
40648 _errHandler.sync(this);
40649 switch ( getInterpreter().adaptivePredict(_input,645,_ctx) ) {
40650 case 1:
40651 enterOuterAlt(_localctx, 1);
40652 {
40653 setState(5545);
40654 _la = _input.LA(1);
40655 if ( !(_la==ORDER || _la==HASH) ) {
40656 _errHandler.recoverInline(this);
40657 }
40658 else {
40659 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40660 _errHandler.reportMatch(this);
40661 consume();
40662 }
40663 setState(5546);
40664 match(GROUP);
40665 }
40666 break;
40667 case 2:
40668 enterOuterAlt(_localctx, 2);
40669 {
40670 setState(5547);
40671 _la = _input.LA(1);
40672 if ( !(_la==MERGE || _la==HASH || _la==CONCAT) ) {
40673 _errHandler.recoverInline(this);
40674 }
40675 else {
40676 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40677 _errHandler.reportMatch(this);
40678 consume();
40679 }
40680 setState(5548);
40681 match(UNION);
40682 }
40683 break;
40684 case 3:
40685 enterOuterAlt(_localctx, 3);
40686 {
40687 setState(5549);
40688 _la = _input.LA(1);
40689 if ( !(_la==MERGE || _la==LOOP || _la==HASH) ) {
40690 _errHandler.recoverInline(this);
40691 }
40692 else {
40693 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40694 _errHandler.reportMatch(this);
40695 consume();
40696 }
40697 setState(5550);
40698 match(JOIN);
40699 }
40700 break;
40701 case 4:
40702 enterOuterAlt(_localctx, 4);
40703 {
40704 setState(5551);
40705 match(EXPAND);
40706 setState(5552);
40707 match(VIEWS);
40708 }
40709 break;
40710 case 5:
40711 enterOuterAlt(_localctx, 5);
40712 {
40713 setState(5553);
40714 match(FAST);
40715 setState(5554);
40716 match(INT_NUM_);
40717 }
40718 break;
40719 case 6:
40720 enterOuterAlt(_localctx, 6);
40721 {
40722 setState(5555);
40723 match(FORCE);
40724 setState(5556);
40725 match(ORDER);
40726 }
40727 break;
40728 case 7:
40729 enterOuterAlt(_localctx, 7);
40730 {
40731 setState(5557);
40732 _la = _input.LA(1);
40733 if ( !(_la==DISABLE || _la==FORCE) ) {
40734 _errHandler.recoverInline(this);
40735 }
40736 else {
40737 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40738 _errHandler.reportMatch(this);
40739 consume();
40740 }
40741 setState(5558);
40742 match(EXTERNALPUSHDOWN);
40743 }
40744 break;
40745 case 8:
40746 enterOuterAlt(_localctx, 8);
40747 {
40748 setState(5559);
40749 _la = _input.LA(1);
40750 if ( !(_la==DISABLE || _la==FORCE) ) {
40751 _errHandler.recoverInline(this);
40752 }
40753 else {
40754 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40755 _errHandler.reportMatch(this);
40756 consume();
40757 }
40758 setState(5560);
40759 match(SCALEOUTEXECUTION);
40760 }
40761 break;
40762 case 9:
40763 enterOuterAlt(_localctx, 9);
40764 {
40765 setState(5561);
40766 match(IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX);
40767 }
40768 break;
40769 case 10:
40770 enterOuterAlt(_localctx, 10);
40771 {
40772 setState(5562);
40773 match(KEEP);
40774 setState(5563);
40775 match(PLAN);
40776 }
40777 break;
40778 case 11:
40779 enterOuterAlt(_localctx, 11);
40780 {
40781 setState(5564);
40782 match(KEEPFIXED);
40783 setState(5565);
40784 match(PLAN);
40785 }
40786 break;
40787 case 12:
40788 enterOuterAlt(_localctx, 12);
40789 {
40790 setState(5566);
40791 match(MAX_GRANT_PERCENT);
40792 setState(5567);
40793 match(EQ_);
40794 setState(5568);
40795 match(DECIMAL_NUM_);
40796 }
40797 break;
40798 case 13:
40799 enterOuterAlt(_localctx, 13);
40800 {
40801 setState(5569);
40802 match(MIN_GRANT_PERCENT);
40803 setState(5570);
40804 match(EQ_);
40805 setState(5571);
40806 match(DECIMAL_NUM_);
40807 }
40808 break;
40809 case 14:
40810 enterOuterAlt(_localctx, 14);
40811 {
40812 setState(5572);
40813 match(MAXDOP);
40814 setState(5573);
40815 match(INT_NUM_);
40816 }
40817 break;
40818 case 15:
40819 enterOuterAlt(_localctx, 15);
40820 {
40821 setState(5574);
40822 match(MAXRECURSION);
40823 setState(5575);
40824 match(INT_NUM_);
40825 }
40826 break;
40827 case 16:
40828 enterOuterAlt(_localctx, 16);
40829 {
40830 setState(5576);
40831 match(NO_PERFORMANCE_SPOOL);
40832 }
40833 break;
40834 case 17:
40835 enterOuterAlt(_localctx, 17);
40836 {
40837 setState(5577);
40838 match(LP_);
40839 setState(5578);
40840 match(OPTIMIZE);
40841 setState(5579);
40842 match(FOR);
40843 setState(5580);
40844 match(LP_);
40845 setState(5581);
40846 variableName();
40847 setState(5587);
40848 _errHandler.sync(this);
40849 _la = _input.LA(1);
40850 while (_la==EQ_ || _la==UNKNOWN) {
40851 {
40852 setState(5585);
40853 _errHandler.sync(this);
40854 switch (_input.LA(1)) {
40855 case UNKNOWN:
40856 {
40857 setState(5582);
40858 match(UNKNOWN);
40859 }
40860 break;
40861 case EQ_:
40862 {
40863 setState(5583);
40864 match(EQ_);
40865 setState(5584);
40866 literals();
40867 }
40868 break;
40869 default:
40870 throw new NoViableAltException(this);
40871 }
40872 }
40873 setState(5589);
40874 _errHandler.sync(this);
40875 _la = _input.LA(1);
40876 }
40877 setState(5590);
40878 match(RP_);
40879 setState(5591);
40880 match(RP_);
40881 }
40882 break;
40883 case 18:
40884 enterOuterAlt(_localctx, 18);
40885 {
40886 setState(5593);
40887 match(OPTIMIZE);
40888 setState(5594);
40889 match(FOR);
40890 setState(5595);
40891 match(UNKNOWN);
40892 }
40893 break;
40894 case 19:
40895 enterOuterAlt(_localctx, 19);
40896 {
40897 setState(5596);
40898 match(PARAMETERIZATION);
40899 setState(5597);
40900 _la = _input.LA(1);
40901 if ( !(_la==SIMPLE || _la==FORCED) ) {
40902 _errHandler.recoverInline(this);
40903 }
40904 else {
40905 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40906 _errHandler.reportMatch(this);
40907 consume();
40908 }
40909 }
40910 break;
40911 case 20:
40912 enterOuterAlt(_localctx, 20);
40913 {
40914 setState(5598);
40915 match(QUERYTRACEON);
40916 setState(5599);
40917 match(INT_NUM_);
40918 }
40919 break;
40920 case 21:
40921 enterOuterAlt(_localctx, 21);
40922 {
40923 setState(5600);
40924 match(RECOMPILE);
40925 }
40926 break;
40927 case 22:
40928 enterOuterAlt(_localctx, 22);
40929 {
40930 setState(5601);
40931 match(ROBUST);
40932 setState(5602);
40933 match(PLAN);
40934 }
40935 break;
40936 case 23:
40937 enterOuterAlt(_localctx, 23);
40938 {
40939 setState(5603);
40940 match(USE);
40941 setState(5604);
40942 match(HINT);
40943 setState(5605);
40944 match(LP_);
40945 setState(5609);
40946 _errHandler.sync(this);
40947 _la = _input.LA(1);
40948 while (_la==SQ_) {
40949 {
40950 {
40951 setState(5606);
40952 useHitName();
40953 }
40954 }
40955 setState(5611);
40956 _errHandler.sync(this);
40957 _la = _input.LA(1);
40958 }
40959 setState(5612);
40960 match(RP_);
40961 }
40962 break;
40963 case 24:
40964 enterOuterAlt(_localctx, 24);
40965 {
40966 setState(5613);
40967 match(USE);
40968 setState(5614);
40969 match(PLAN);
40970 setState(5615);
40971 match(NCHAR_TEXT);
40972 }
40973 break;
40974 }
40975 }
40976 catch (RecognitionException re) {
40977 _localctx.exception = re;
40978 _errHandler.reportError(this, re);
40979 _errHandler.recover(this, re);
40980 }
40981 finally {
40982 exitRule();
40983 }
40984 return _localctx;
40985 }
40986
40987 public static class UseHitNameContext extends ParserRuleContext {
40988 public List<TerminalNode> SQ_() { return getTokens(SQLServerStatementParser.SQ_); }
40989 public TerminalNode SQ_(int i) {
40990 return getToken(SQLServerStatementParser.SQ_, i);
40991 }
40992 public TerminalNode ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS() { return getToken(SQLServerStatementParser.ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS, 0); }
40993 public TerminalNode ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES() { return getToken(SQLServerStatementParser.ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES, 0); }
40994 public TerminalNode DISABLE_BATCH_MODE_ADAPTIVE_JOINS() { return getToken(SQLServerStatementParser.DISABLE_BATCH_MODE_ADAPTIVE_JOINS, 0); }
40995 public TerminalNode DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK() { return getToken(SQLServerStatementParser.DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK, 0); }
40996 public TerminalNode DISABLE_DEFERRED_COMPILATION_TV() { return getToken(SQLServerStatementParser.DISABLE_DEFERRED_COMPILATION_TV, 0); }
40997 public TerminalNode DISABLE_INTERLEAVED_EXECUTION_TVF() { return getToken(SQLServerStatementParser.DISABLE_INTERLEAVED_EXECUTION_TVF, 0); }
40998 public TerminalNode DISABLE_OPTIMIZED_NESTED_LOOP() { return getToken(SQLServerStatementParser.DISABLE_OPTIMIZED_NESTED_LOOP, 0); }
40999 public TerminalNode DISABLE_OPTIMIZER_ROWGOAL() { return getToken(SQLServerStatementParser.DISABLE_OPTIMIZER_ROWGOAL, 0); }
41000 public TerminalNode DISABLE_PARAMETER_SNIFFING() { return getToken(SQLServerStatementParser.DISABLE_PARAMETER_SNIFFING, 0); }
41001 public TerminalNode DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK() { return getToken(SQLServerStatementParser.DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK, 0); }
41002 public TerminalNode DISABLE_TSQL_SCALAR_UDF_INLINING() { return getToken(SQLServerStatementParser.DISABLE_TSQL_SCALAR_UDF_INLINING, 0); }
41003 public TerminalNode DISALLOW_BATCH_MODE() { return getToken(SQLServerStatementParser.DISALLOW_BATCH_MODE, 0); }
41004 public TerminalNode ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS() { return getToken(SQLServerStatementParser.ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS, 0); }
41005 public TerminalNode ENABLE_QUERY_OPTIMIZER_HOTFIXES() { return getToken(SQLServerStatementParser.ENABLE_QUERY_OPTIMIZER_HOTFIXES, 0); }
41006 public TerminalNode FORCE_DEFAULT_CARDINALITY_ESTIMATION() { return getToken(SQLServerStatementParser.FORCE_DEFAULT_CARDINALITY_ESTIMATION, 0); }
41007 public TerminalNode FORCE_LEGACY_CARDINALITY_ESTIMATION() { return getToken(SQLServerStatementParser.FORCE_LEGACY_CARDINALITY_ESTIMATION, 0); }
41008 public TerminalNode QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n() { return getToken(SQLServerStatementParser.QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n, 0); }
41009 public TerminalNode QUERY_PLAN_PROFILE() { return getToken(SQLServerStatementParser.QUERY_PLAN_PROFILE, 0); }
41010 public UseHitNameContext(ParserRuleContext parent, int invokingState) {
41011 super(parent, invokingState);
41012 }
41013 @Override public int getRuleIndex() { return RULE_useHitName; }
41014 @Override
41015 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41016 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUseHitName(this);
41017 else return visitor.visitChildren(this);
41018 }
41019 }
41020
41021 public final UseHitNameContext useHitName() throws RecognitionException {
41022 UseHitNameContext _localctx = new UseHitNameContext(_ctx, getState());
41023 enterRule(_localctx, 792, RULE_useHitName);
41024 try {
41025 setState(5672);
41026 _errHandler.sync(this);
41027 switch ( getInterpreter().adaptivePredict(_input,646,_ctx) ) {
41028 case 1:
41029 enterOuterAlt(_localctx, 1);
41030 {
41031 setState(5618);
41032 match(SQ_);
41033 setState(5619);
41034 match(ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS);
41035 setState(5620);
41036 match(SQ_);
41037 }
41038 break;
41039 case 2:
41040 enterOuterAlt(_localctx, 2);
41041 {
41042 setState(5621);
41043 match(SQ_);
41044 setState(5622);
41045 match(ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES);
41046 setState(5623);
41047 match(SQ_);
41048 }
41049 break;
41050 case 3:
41051 enterOuterAlt(_localctx, 3);
41052 {
41053 setState(5624);
41054 match(SQ_);
41055 setState(5625);
41056 match(DISABLE_BATCH_MODE_ADAPTIVE_JOINS);
41057 setState(5626);
41058 match(SQ_);
41059 }
41060 break;
41061 case 4:
41062 enterOuterAlt(_localctx, 4);
41063 {
41064 setState(5627);
41065 match(SQ_);
41066 setState(5628);
41067 match(DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK);
41068 setState(5629);
41069 match(SQ_);
41070 }
41071 break;
41072 case 5:
41073 enterOuterAlt(_localctx, 5);
41074 {
41075 setState(5630);
41076 match(SQ_);
41077 setState(5631);
41078 match(DISABLE_DEFERRED_COMPILATION_TV);
41079 setState(5632);
41080 match(SQ_);
41081 }
41082 break;
41083 case 6:
41084 enterOuterAlt(_localctx, 6);
41085 {
41086 setState(5633);
41087 match(SQ_);
41088 setState(5634);
41089 match(DISABLE_INTERLEAVED_EXECUTION_TVF);
41090 setState(5635);
41091 match(SQ_);
41092 }
41093 break;
41094 case 7:
41095 enterOuterAlt(_localctx, 7);
41096 {
41097 setState(5636);
41098 match(SQ_);
41099 setState(5637);
41100 match(DISABLE_OPTIMIZED_NESTED_LOOP);
41101 setState(5638);
41102 match(SQ_);
41103 }
41104 break;
41105 case 8:
41106 enterOuterAlt(_localctx, 8);
41107 {
41108 setState(5639);
41109 match(SQ_);
41110 setState(5640);
41111 match(DISABLE_OPTIMIZER_ROWGOAL);
41112 setState(5641);
41113 match(SQ_);
41114 }
41115 break;
41116 case 9:
41117 enterOuterAlt(_localctx, 9);
41118 {
41119 setState(5642);
41120 match(SQ_);
41121 setState(5643);
41122 match(DISABLE_PARAMETER_SNIFFING);
41123 setState(5644);
41124 match(SQ_);
41125 }
41126 break;
41127 case 10:
41128 enterOuterAlt(_localctx, 10);
41129 {
41130 setState(5645);
41131 match(SQ_);
41132 setState(5646);
41133 match(DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK);
41134 setState(5647);
41135 match(SQ_);
41136 }
41137 break;
41138 case 11:
41139 enterOuterAlt(_localctx, 11);
41140 {
41141 setState(5648);
41142 match(SQ_);
41143 setState(5649);
41144 match(DISABLE_TSQL_SCALAR_UDF_INLINING);
41145 setState(5650);
41146 match(SQ_);
41147 }
41148 break;
41149 case 12:
41150 enterOuterAlt(_localctx, 12);
41151 {
41152 setState(5651);
41153 match(SQ_);
41154 setState(5652);
41155 match(DISALLOW_BATCH_MODE);
41156 setState(5653);
41157 match(SQ_);
41158 }
41159 break;
41160 case 13:
41161 enterOuterAlt(_localctx, 13);
41162 {
41163 setState(5654);
41164 match(SQ_);
41165 setState(5655);
41166 match(ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS);
41167 setState(5656);
41168 match(SQ_);
41169 }
41170 break;
41171 case 14:
41172 enterOuterAlt(_localctx, 14);
41173 {
41174 setState(5657);
41175 match(SQ_);
41176 setState(5658);
41177 match(ENABLE_QUERY_OPTIMIZER_HOTFIXES);
41178 setState(5659);
41179 match(SQ_);
41180 }
41181 break;
41182 case 15:
41183 enterOuterAlt(_localctx, 15);
41184 {
41185 setState(5660);
41186 match(SQ_);
41187 setState(5661);
41188 match(FORCE_DEFAULT_CARDINALITY_ESTIMATION);
41189 setState(5662);
41190 match(SQ_);
41191 }
41192 break;
41193 case 16:
41194 enterOuterAlt(_localctx, 16);
41195 {
41196 setState(5663);
41197 match(SQ_);
41198 setState(5664);
41199 match(FORCE_LEGACY_CARDINALITY_ESTIMATION);
41200 setState(5665);
41201 match(SQ_);
41202 }
41203 break;
41204 case 17:
41205 enterOuterAlt(_localctx, 17);
41206 {
41207 setState(5666);
41208 match(SQ_);
41209 setState(5667);
41210 match(QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n);
41211 setState(5668);
41212 match(SQ_);
41213 }
41214 break;
41215 case 18:
41216 enterOuterAlt(_localctx, 18);
41217 {
41218 setState(5669);
41219 match(SQ_);
41220 setState(5670);
41221 match(QUERY_PLAN_PROFILE);
41222 setState(5671);
41223 match(SQ_);
41224 }
41225 break;
41226 }
41227 }
41228 catch (RecognitionException re) {
41229 _localctx.exception = re;
41230 _errHandler.reportError(this, re);
41231 _errHandler.recover(this, re);
41232 }
41233 finally {
41234 exitRule();
41235 }
41236 return _localctx;
41237 }
41238
41239 public static class ForClauseContext extends ParserRuleContext {
41240 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
41241 public TerminalNode BROWSE() { return getToken(SQLServerStatementParser.BROWSE, 0); }
41242 public ForXmlClauseContext forXmlClause() {
41243 return getRuleContext(ForXmlClauseContext.class,0);
41244 }
41245 public ForJsonClauseContext forJsonClause() {
41246 return getRuleContext(ForJsonClauseContext.class,0);
41247 }
41248 public ForClauseContext(ParserRuleContext parent, int invokingState) {
41249 super(parent, invokingState);
41250 }
41251 @Override public int getRuleIndex() { return RULE_forClause; }
41252 @Override
41253 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41254 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForClause(this);
41255 else return visitor.visitChildren(this);
41256 }
41257 }
41258
41259 public final ForClauseContext forClause() throws RecognitionException {
41260 ForClauseContext _localctx = new ForClauseContext(_ctx, getState());
41261 enterRule(_localctx, 794, RULE_forClause);
41262 try {
41263 enterOuterAlt(_localctx, 1);
41264 {
41265 setState(5674);
41266 match(FOR);
41267 setState(5678);
41268 _errHandler.sync(this);
41269 switch (_input.LA(1)) {
41270 case BROWSE:
41271 {
41272 setState(5675);
41273 match(BROWSE);
41274 }
41275 break;
41276 case XML:
41277 {
41278 setState(5676);
41279 forXmlClause();
41280 }
41281 break;
41282 case JSON:
41283 {
41284 setState(5677);
41285 forJsonClause();
41286 }
41287 break;
41288 default:
41289 throw new NoViableAltException(this);
41290 }
41291 }
41292 }
41293 catch (RecognitionException re) {
41294 _localctx.exception = re;
41295 _errHandler.reportError(this, re);
41296 _errHandler.recover(this, re);
41297 }
41298 finally {
41299 exitRule();
41300 }
41301 return _localctx;
41302 }
41303
41304 public static class ForXmlClauseContext extends ParserRuleContext {
41305 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
41306 public TerminalNode EXPLICIT() { return getToken(SQLServerStatementParser.EXPLICIT, 0); }
41307 public TerminalNode PATH() { return getToken(SQLServerStatementParser.PATH, 0); }
41308 public TerminalNode RAW() { return getToken(SQLServerStatementParser.RAW, 0); }
41309 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
41310 public CommonDirectivesForXmlContext commonDirectivesForXml() {
41311 return getRuleContext(CommonDirectivesForXmlContext.class,0);
41312 }
41313 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
41314 public TerminalNode LP_(int i) {
41315 return getToken(SQLServerStatementParser.LP_, i);
41316 }
41317 public List<StringLiteralsContext> stringLiterals() {
41318 return getRuleContexts(StringLiteralsContext.class);
41319 }
41320 public StringLiteralsContext stringLiterals(int i) {
41321 return getRuleContext(StringLiteralsContext.class,i);
41322 }
41323 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
41324 public TerminalNode RP_(int i) {
41325 return getToken(SQLServerStatementParser.RP_, i);
41326 }
41327 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41328 public TerminalNode COMMA_(int i) {
41329 return getToken(SQLServerStatementParser.COMMA_, i);
41330 }
41331 public TerminalNode ELEMENTS() { return getToken(SQLServerStatementParser.ELEMENTS, 0); }
41332 public TerminalNode XMLDATA() { return getToken(SQLServerStatementParser.XMLDATA, 0); }
41333 public TerminalNode XMLSCHEMA() { return getToken(SQLServerStatementParser.XMLSCHEMA, 0); }
41334 public TerminalNode XSINIL() { return getToken(SQLServerStatementParser.XSINIL, 0); }
41335 public TerminalNode ABSENT() { return getToken(SQLServerStatementParser.ABSENT, 0); }
41336 public ForXmlClauseContext(ParserRuleContext parent, int invokingState) {
41337 super(parent, invokingState);
41338 }
41339 @Override public int getRuleIndex() { return RULE_forXmlClause; }
41340 @Override
41341 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41342 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForXmlClause(this);
41343 else return visitor.visitChildren(this);
41344 }
41345 }
41346
41347 public final ForXmlClauseContext forXmlClause() throws RecognitionException {
41348 ForXmlClauseContext _localctx = new ForXmlClauseContext(_ctx, getState());
41349 enterRule(_localctx, 796, RULE_forXmlClause);
41350 int _la;
41351 try {
41352 enterOuterAlt(_localctx, 1);
41353 {
41354 setState(5680);
41355 match(XML);
41356 setState(5739);
41357 _errHandler.sync(this);
41358 switch (_input.LA(1)) {
41359 case AUTO:
41360 case RAW:
41361 {
41362 setState(5689);
41363 _errHandler.sync(this);
41364 switch (_input.LA(1)) {
41365 case RAW:
41366 {
41367 setState(5681);
41368 match(RAW);
41369 setState(5686);
41370 _errHandler.sync(this);
41371 _la = _input.LA(1);
41372 if (_la==LP_) {
41373 {
41374 setState(5682);
41375 match(LP_);
41376 setState(5683);
41377 stringLiterals();
41378 setState(5684);
41379 match(RP_);
41380 }
41381 }
41382
41383 }
41384 break;
41385 case AUTO:
41386 {
41387 setState(5688);
41388 match(AUTO);
41389 }
41390 break;
41391 default:
41392 throw new NoViableAltException(this);
41393 }
41394 setState(5712);
41395 _errHandler.sync(this);
41396 switch ( getInterpreter().adaptivePredict(_input,655,_ctx) ) {
41397 case 1:
41398 {
41399 setState(5691);
41400 commonDirectivesForXml();
41401 setState(5703);
41402 _errHandler.sync(this);
41403 switch ( getInterpreter().adaptivePredict(_input,652,_ctx) ) {
41404 case 1:
41405 {
41406 setState(5692);
41407 match(COMMA_);
41408 setState(5701);
41409 _errHandler.sync(this);
41410 switch (_input.LA(1)) {
41411 case XMLDATA:
41412 {
41413 setState(5693);
41414 match(XMLDATA);
41415 }
41416 break;
41417 case XMLSCHEMA:
41418 {
41419 setState(5694);
41420 match(XMLSCHEMA);
41421 setState(5699);
41422 _errHandler.sync(this);
41423 _la = _input.LA(1);
41424 if (_la==LP_) {
41425 {
41426 setState(5695);
41427 match(LP_);
41428 setState(5696);
41429 stringLiterals();
41430 setState(5697);
41431 match(RP_);
41432 }
41433 }
41434
41435 }
41436 break;
41437 default:
41438 throw new NoViableAltException(this);
41439 }
41440 }
41441 break;
41442 }
41443 setState(5710);
41444 _errHandler.sync(this);
41445 _la = _input.LA(1);
41446 if (_la==COMMA_) {
41447 {
41448 setState(5705);
41449 match(COMMA_);
41450 setState(5706);
41451 match(ELEMENTS);
41452 setState(5708);
41453 _errHandler.sync(this);
41454 _la = _input.LA(1);
41455 if (_la==XSINIL || _la==ABSENT) {
41456 {
41457 setState(5707);
41458 _la = _input.LA(1);
41459 if ( !(_la==XSINIL || _la==ABSENT) ) {
41460 _errHandler.recoverInline(this);
41461 }
41462 else {
41463 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
41464 _errHandler.reportMatch(this);
41465 consume();
41466 }
41467 }
41468 }
41469
41470 }
41471 }
41472
41473 }
41474 break;
41475 }
41476 }
41477 break;
41478 case EXPLICIT:
41479 {
41480 setState(5714);
41481 match(EXPLICIT);
41482 setState(5720);
41483 _errHandler.sync(this);
41484 switch ( getInterpreter().adaptivePredict(_input,657,_ctx) ) {
41485 case 1:
41486 {
41487 setState(5715);
41488 commonDirectivesForXml();
41489 setState(5718);
41490 _errHandler.sync(this);
41491 _la = _input.LA(1);
41492 if (_la==COMMA_) {
41493 {
41494 setState(5716);
41495 match(COMMA_);
41496 setState(5717);
41497 match(XMLDATA);
41498 }
41499 }
41500
41501 }
41502 break;
41503 }
41504 }
41505 break;
41506 case PATH:
41507 {
41508 setState(5722);
41509 match(PATH);
41510 setState(5727);
41511 _errHandler.sync(this);
41512 _la = _input.LA(1);
41513 if (_la==LP_) {
41514 {
41515 setState(5723);
41516 match(LP_);
41517 setState(5724);
41518 stringLiterals();
41519 setState(5725);
41520 match(RP_);
41521 }
41522 }
41523
41524 setState(5737);
41525 _errHandler.sync(this);
41526 switch ( getInterpreter().adaptivePredict(_input,661,_ctx) ) {
41527 case 1:
41528 {
41529 setState(5729);
41530 commonDirectivesForXml();
41531 setState(5735);
41532 _errHandler.sync(this);
41533 _la = _input.LA(1);
41534 if (_la==COMMA_) {
41535 {
41536 setState(5730);
41537 match(COMMA_);
41538 setState(5731);
41539 match(ELEMENTS);
41540 setState(5733);
41541 _errHandler.sync(this);
41542 _la = _input.LA(1);
41543 if (_la==XSINIL || _la==ABSENT) {
41544 {
41545 setState(5732);
41546 _la = _input.LA(1);
41547 if ( !(_la==XSINIL || _la==ABSENT) ) {
41548 _errHandler.recoverInline(this);
41549 }
41550 else {
41551 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
41552 _errHandler.reportMatch(this);
41553 consume();
41554 }
41555 }
41556 }
41557
41558 }
41559 }
41560
41561 }
41562 break;
41563 }
41564 }
41565 break;
41566 default:
41567 throw new NoViableAltException(this);
41568 }
41569 }
41570 }
41571 catch (RecognitionException re) {
41572 _localctx.exception = re;
41573 _errHandler.reportError(this, re);
41574 _errHandler.recover(this, re);
41575 }
41576 finally {
41577 exitRule();
41578 }
41579 return _localctx;
41580 }
41581
41582 public static class CommonDirectivesForXmlContext extends ParserRuleContext {
41583 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41584 public TerminalNode COMMA_(int i) {
41585 return getToken(SQLServerStatementParser.COMMA_, i);
41586 }
41587 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
41588 public TerminalNode BASE64() { return getToken(SQLServerStatementParser.BASE64, 0); }
41589 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
41590 public TerminalNode ROOT() { return getToken(SQLServerStatementParser.ROOT, 0); }
41591 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
41592 public StringLiteralsContext stringLiterals() {
41593 return getRuleContext(StringLiteralsContext.class,0);
41594 }
41595 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
41596 public CommonDirectivesForXmlContext(ParserRuleContext parent, int invokingState) {
41597 super(parent, invokingState);
41598 }
41599 @Override public int getRuleIndex() { return RULE_commonDirectivesForXml; }
41600 @Override
41601 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41602 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommonDirectivesForXml(this);
41603 else return visitor.visitChildren(this);
41604 }
41605 }
41606
41607 public final CommonDirectivesForXmlContext commonDirectivesForXml() throws RecognitionException {
41608 CommonDirectivesForXmlContext _localctx = new CommonDirectivesForXmlContext(_ctx, getState());
41609 enterRule(_localctx, 798, RULE_commonDirectivesForXml);
41610 int _la;
41611 try {
41612 enterOuterAlt(_localctx, 1);
41613 {
41614 setState(5744);
41615 _errHandler.sync(this);
41616 switch ( getInterpreter().adaptivePredict(_input,663,_ctx) ) {
41617 case 1:
41618 {
41619 setState(5741);
41620 match(COMMA_);
41621 setState(5742);
41622 match(BINARY);
41623 setState(5743);
41624 match(BASE64);
41625 }
41626 break;
41627 }
41628 setState(5748);
41629 _errHandler.sync(this);
41630 switch ( getInterpreter().adaptivePredict(_input,664,_ctx) ) {
41631 case 1:
41632 {
41633 setState(5746);
41634 match(COMMA_);
41635 setState(5747);
41636 match(TYPE);
41637 }
41638 break;
41639 }
41640 setState(5758);
41641 _errHandler.sync(this);
41642 switch ( getInterpreter().adaptivePredict(_input,666,_ctx) ) {
41643 case 1:
41644 {
41645 setState(5750);
41646 match(COMMA_);
41647 setState(5751);
41648 match(ROOT);
41649 setState(5756);
41650 _errHandler.sync(this);
41651 _la = _input.LA(1);
41652 if (_la==LP_) {
41653 {
41654 setState(5752);
41655 match(LP_);
41656 setState(5753);
41657 stringLiterals();
41658 setState(5754);
41659 match(RP_);
41660 }
41661 }
41662
41663 }
41664 break;
41665 }
41666 }
41667 }
41668 catch (RecognitionException re) {
41669 _localctx.exception = re;
41670 _errHandler.reportError(this, re);
41671 _errHandler.recover(this, re);
41672 }
41673 finally {
41674 exitRule();
41675 }
41676 return _localctx;
41677 }
41678
41679 public static class ForJsonClauseContext extends ParserRuleContext {
41680 public TerminalNode JSON() { return getToken(SQLServerStatementParser.JSON, 0); }
41681 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
41682 public TerminalNode PATH() { return getToken(SQLServerStatementParser.PATH, 0); }
41683 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41684 public TerminalNode COMMA_(int i) {
41685 return getToken(SQLServerStatementParser.COMMA_, i);
41686 }
41687 public TerminalNode ROOT() { return getToken(SQLServerStatementParser.ROOT, 0); }
41688 public TerminalNode INCLUDE_NULL_VALUES() { return getToken(SQLServerStatementParser.INCLUDE_NULL_VALUES, 0); }
41689 public TerminalNode WITHOUT_ARRAY_WRAPPER() { return getToken(SQLServerStatementParser.WITHOUT_ARRAY_WRAPPER, 0); }
41690 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
41691 public StringLiteralsContext stringLiterals() {
41692 return getRuleContext(StringLiteralsContext.class,0);
41693 }
41694 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
41695 public ForJsonClauseContext(ParserRuleContext parent, int invokingState) {
41696 super(parent, invokingState);
41697 }
41698 @Override public int getRuleIndex() { return RULE_forJsonClause; }
41699 @Override
41700 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41701 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForJsonClause(this);
41702 else return visitor.visitChildren(this);
41703 }
41704 }
41705
41706 public final ForJsonClauseContext forJsonClause() throws RecognitionException {
41707 ForJsonClauseContext _localctx = new ForJsonClauseContext(_ctx, getState());
41708 enterRule(_localctx, 800, RULE_forJsonClause);
41709 int _la;
41710 try {
41711 enterOuterAlt(_localctx, 1);
41712 {
41713 setState(5760);
41714 match(JSON);
41715 {
41716 setState(5761);
41717 _la = _input.LA(1);
41718 if ( !(_la==AUTO || _la==PATH) ) {
41719 _errHandler.recoverInline(this);
41720 }
41721 else {
41722 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
41723 _errHandler.reportMatch(this);
41724 consume();
41725 }
41726 setState(5780);
41727 _errHandler.sync(this);
41728 switch ( getInterpreter().adaptivePredict(_input,671,_ctx) ) {
41729 case 1:
41730 {
41731 setState(5770);
41732 _errHandler.sync(this);
41733 switch ( getInterpreter().adaptivePredict(_input,668,_ctx) ) {
41734 case 1:
41735 {
41736 setState(5762);
41737 match(COMMA_);
41738 setState(5763);
41739 match(ROOT);
41740 setState(5768);
41741 _errHandler.sync(this);
41742 _la = _input.LA(1);
41743 if (_la==LP_) {
41744 {
41745 setState(5764);
41746 match(LP_);
41747 setState(5765);
41748 stringLiterals();
41749 setState(5766);
41750 match(RP_);
41751 }
41752 }
41753
41754 }
41755 break;
41756 }
41757 setState(5774);
41758 _errHandler.sync(this);
41759 switch ( getInterpreter().adaptivePredict(_input,669,_ctx) ) {
41760 case 1:
41761 {
41762 setState(5772);
41763 match(COMMA_);
41764 setState(5773);
41765 match(INCLUDE_NULL_VALUES);
41766 }
41767 break;
41768 }
41769 setState(5778);
41770 _errHandler.sync(this);
41771 _la = _input.LA(1);
41772 if (_la==COMMA_) {
41773 {
41774 setState(5776);
41775 match(COMMA_);
41776 setState(5777);
41777 match(WITHOUT_ARRAY_WRAPPER);
41778 }
41779 }
41780
41781 }
41782 break;
41783 }
41784 }
41785 }
41786 }
41787 catch (RecognitionException re) {
41788 _localctx.exception = re;
41789 _errHandler.reportError(this, re);
41790 _errHandler.recover(this, re);
41791 }
41792 finally {
41793 exitRule();
41794 }
41795 return _localctx;
41796 }
41797
41798 public static class SelectWithClauseContext extends ParserRuleContext {
41799 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
41800 public XmlNamespacesClauseContext xmlNamespacesClause() {
41801 return getRuleContext(XmlNamespacesClauseContext.class,0);
41802 }
41803 public CteClauseSetContext cteClauseSet() {
41804 return getRuleContext(CteClauseSetContext.class,0);
41805 }
41806 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
41807 public SelectWithClauseContext(ParserRuleContext parent, int invokingState) {
41808 super(parent, invokingState);
41809 }
41810 @Override public int getRuleIndex() { return RULE_selectWithClause; }
41811 @Override
41812 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41813 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSelectWithClause(this);
41814 else return visitor.visitChildren(this);
41815 }
41816 }
41817
41818 public final SelectWithClauseContext selectWithClause() throws RecognitionException {
41819 SelectWithClauseContext _localctx = new SelectWithClauseContext(_ctx, getState());
41820 enterRule(_localctx, 802, RULE_selectWithClause);
41821 int _la;
41822 try {
41823 enterOuterAlt(_localctx, 1);
41824 {
41825 setState(5782);
41826 match(WITH);
41827 setState(5787);
41828 _errHandler.sync(this);
41829 _la = _input.LA(1);
41830 if (_la==XMLNAMESPACES) {
41831 {
41832 setState(5783);
41833 xmlNamespacesClause();
41834 setState(5785);
41835 _errHandler.sync(this);
41836 _la = _input.LA(1);
41837 if (_la==COMMA_) {
41838 {
41839 setState(5784);
41840 match(COMMA_);
41841 }
41842 }
41843
41844 }
41845 }
41846
41847 setState(5790);
41848 _errHandler.sync(this);
41849 _la = _input.LA(1);
41850 if (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (COLUMNS - 53)) | (1L << (PRECISION - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (TRIM - 53)) | (1L << (SUBSTRING - 53)) | (1L << (OFF - 53)))) != 0) || ((((_la - 118)) & ~0x3f) == 0 && ((1L << (_la - 118)) & ((1L << (GROUP - 118)) | (1L << (LIMIT - 118)) | (1L << (OFFSET - 118)) | (1L << (SAVEPOINT - 118)) | (1L << (BOOLEAN - 118)) | (1L << (ARRAY - 118)) | (1L << (DATE - 118)) | (1L << (TIMESTAMP - 118)) | (1L << (LOCALTIME - 118)) | (1L << (LOCALTIMESTAMP - 118)) | (1L << (YEAR - 118)) | (1L << (QUARTER - 118)) | (1L << (MONTH - 118)) | (1L << (WEEK - 118)) | (1L << (DAY - 118)) | (1L << (SECOND - 118)) | (1L << (MICROSECOND - 118)) | (1L << (MAX - 118)) | (1L << (MIN - 118)) | (1L << (SUM - 118)) | (1L << (COUNT - 118)) | (1L << (AVG - 118)) | (1L << (ENABLE - 118)) | (1L << (DISABLE - 118)) | (1L << (INSTANCE - 118)) | (1L << (DO - 118)) | (1L << (DEFINER - 118)) | (1L << (SQL - 118)) | (1L << (CASCADED - 118)) | (1L << (LOCAL - 118)) | (1L << (NEXT - 118)) | (1L << (NAME - 118)) | (1L << (INTEGER - 118)) | (1L << (TYPE - 118)))) != 0) || ((((_la - 184)) & ~0x3f) == 0 && ((1L << (_la - 184)) & ((1L << (TEXT - 184)) | (1L << (VIEWS - 184)) | (1L << (READ_ONLY - 184)) | (1L << (DATABASE - 184)) | (1L << (RETURNS - 184)) | (1L << (DATEPART - 184)) | (1L << (PASSWORD - 184)) | (1L << (BINARY - 184)) | (1L << (HIDDEN_ - 184)) | (1L << (MOD - 184)) | (1L << (PARTITION - 184)) | (1L << (PARTITIONS - 184)) | (1L << (TOP - 184)))) != 0) || ((((_la - 248)) & ~0x3f) == 0 && ((1L << (_la - 248)) & ((1L << (ROW - 248)) | (1L << (ROWS - 248)) | (1L << (XOR - 248)) | (1L << (ALWAYS - 248)) | (1L << (ROLE - 248)) | (1L << (START - 248)) | (1L << (ALGORITHM - 248)) | (1L << (AUTO - 248)) | (1L << (BLOCKERS - 248)) | (1L << (CLUSTERED - 248)) | (1L << (NONCLUSTERED - 248)) | (1L << (COLUMNSTORE - 248)) | (1L << (CONTENT - 248)) | (1L << (YEARS - 248)) | (1L << (MONTHS - 248)) | (1L << (WEEKS - 248)) | (1L << (DAYS - 248)) | (1L << (MINUTES - 248)) | (1L << (DENY - 248)) | (1L << (DETERMINISTIC - 248)) | (1L << (DISTRIBUTION - 248)) | (1L << (DOCUMENT - 248)) | (1L << (DURABILITY - 248)) | (1L << (ENCRYPTED - 248)) | (1L << (FILESTREAM - 248)) | (1L << (FILETABLE - 248)) | (1L << (FILLFACTOR - 248)) | (1L << (FOLLOWING - 248)) | (1L << (HASH - 248)) | (1L << (HEAP - 248)) | (1L << (INBOUND - 248)) | (1L << (OUTBOUND - 248)) | (1L << (UNBOUNDED - 248)) | (1L << (INFINITE - 248)) | (1L << (LOGIN - 248)) | (1L << (MASKED - 248)) | (1L << (MAXDOP - 248)) | (1L << (MOVE - 248)) | (1L << (NOCHECK - 248)) | (1L << (OBJECT - 248)) | (1L << (ONLINE - 248)) | (1L << (OVER - 248)) | (1L << (PAGE - 248)) | (1L << (PAUSED - 248)) | (1L << (PERIOD - 248)) | (1L << (PERSISTED - 248)) | (1L << (PRECEDING - 248)) | (1L << (RANDOMIZED - 248)))) != 0) || ((((_la - 312)) & ~0x3f) == 0 && ((1L << (_la - 312)) & ((1L << (RANGE - 312)) | (1L << (REBUILD - 312)) | (1L << (REPLICATE - 312)) | (1L << (REPLICATION - 312)) | (1L << (RESUMABLE - 312)) | (1L << (ROWGUIDCOL - 312)) | (1L << (SAVE - 312)) | (1L << (SELF - 312)) | (1L << (SPARSE - 312)) | (1L << (SWITCH - 312)) | (1L << (TRAN - 312)) | (1L << (TRANCOUNT - 312)) | (1L << (CONTROL - 312)) | (1L << (CONCAT - 312)) | (1L << (TAKE - 312)) | (1L << (OWNERSHIP - 312)) | (1L << (DEFINITION - 312)) | (1L << (APPLICATION - 312)) | (1L << (ASSEMBLY - 312)) | (1L << (SYMMETRIC - 312)) | (1L << (ASYMMETRIC - 312)) | (1L << (SERVER - 312)) | (1L << (RECEIVE - 312)) | (1L << (CHANGE - 312)) | (1L << (TRACE - 312)) | (1L << (TRACKING - 312)) | (1L << (RESOURCES - 312)) | (1L << (SETTINGS - 312)) | (1L << (STATE - 312)) | (1L << (AVAILABILITY - 312)) | (1L << (CREDENTIAL - 312)) | (1L << (ENDPOINT - 312)) | (1L << (EVENT - 312)) | (1L << (NOTIFICATION - 312)) | (1L << (LINKED - 312)) | (1L << (AUDIT - 312)) | (1L << (DDL - 312)) | (1L << (XML - 312)) | (1L << (IMPERSONATE - 312)) | (1L << (SECURABLES - 312)) | (1L << (AUTHENTICATE - 312)) | (1L << (EXTERNAL - 312)) | (1L << (ACCESS - 312)) | (1L << (ADMINISTER - 312)) | (1L << (BULK - 312)) | (1L << (OPERATIONS - 312)) | (1L << (UNSAFE - 312)) | (1L << (SHUTDOWN - 312)) | (1L << (SCOPED - 312)) | (1L << (CONFIGURATION - 312)) | (1L << (DATASPACE - 312)) | (1L << (SERVICE - 312)) | (1L << (CERTIFICATE - 312)) | (1L << (CONTRACT - 312)) | (1L << (ENCRYPTION - 312)) | (1L << (MASTER - 312)) | (1L << (DATA - 312)))) != 0) || ((((_la - 376)) & ~0x3f) == 0 && ((1L << (_la - 376)) & ((1L << (SOURCE - 376)) | (1L << (FILE - 376)) | (1L << (FORMAT - 376)) | (1L << (LIBRARY - 376)) | (1L << (FULLTEXT - 376)) | (1L << (MASK - 376)) | (1L << (UNMASK - 376)) | (1L << (MESSAGE - 376)) | (1L << (REMOTE - 376)) | (1L << (BINDING - 376)) | (1L << (ROUTE - 376)) | (1L << (SECURITY - 376)) | (1L << (POLICY - 376)) | (1L << (AGGREGATE - 376)) | (1L << (QUEUE - 376)) | (1L << (RULE - 376)) | (1L << (SYNONYM - 376)) | (1L << (COLLECTION - 376)) | (1L << (SCRIPT - 376)) | (1L << (KILL - 376)) | (1L << (BACKUP - 376)) | (1L << (LOG - 376)) | (1L << (SHOWPLAN - 376)) | (1L << (SUBSCRIBE - 376)) | (1L << (QUERY - 376)) | (1L << (NOTIFICATIONS - 376)) | (1L << (CHECKPOINT - 376)) | (1L << (SEQUENCE - 376)) | (1L << (ABORT_AFTER_WAIT - 376)) | (1L << (ALLOW_PAGE_LOCKS - 376)) | (1L << (ALLOW_ROW_LOCKS - 376)) | (1L << (ALL_SPARSE_COLUMNS - 376)) | (1L << (BUCKET_COUNT - 376)) | (1L << (COLUMNSTORE_ARCHIVE - 376)) | (1L << (COLUMN_ENCRYPTION_KEY - 376)) | (1L << (COLUMN_SET - 376)) | (1L << (COMPRESSION_DELAY - 376)) | (1L << (DATABASE_DEAULT - 376)) | (1L << (DATA_COMPRESSION - 376)) | (1L << (DATA_CONSISTENCY_CHECK - 376)) | (1L << (ENCRYPTION_TYPE - 376)) | (1L << (SYSTEM_TIME - 376)) | (1L << (SYSTEM_VERSIONING - 376)) | (1L << (TEXTIMAGE_ON - 376)) | (1L << (WAIT_AT_LOW_PRIORITY - 376)) | (1L << (STATISTICS_INCREMENTAL - 376)) | (1L << (STATISTICS_NORECOMPUTE - 376)) | (1L << (ROUND_ROBIN - 376)) | (1L << (SCHEMA_AND_DATA - 376)) | (1L << (SCHEMA_ONLY - 376)) | (1L << (SORT_IN_TEMPDB - 376)) | (1L << (IGNORE_DUP_KEY - 376)) | (1L << (IMPLICIT_TRANSACTIONS - 376)) | (1L << (MAX_DURATION - 376)) | (1L << (MEMORY_OPTIMIZED - 376)) | (1L << (MIGRATION_STATE - 376)) | (1L << (PAD_INDEX - 376)) | (1L << (REMOTE_DATA_ARCHIVE - 376)) | (1L << (FILESTREAM_ON - 376)) | (1L << (FILETABLE_COLLATE_FILENAME - 376)) | (1L << (FILETABLE_DIRECTORY - 376)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 376)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 376)))) != 0) || ((((_la - 440)) & ~0x3f) == 0 && ((1L << (_la - 440)) & ((1L << (FILTER_PREDICATE - 440)) | (1L << (HISTORY_RETENTION_PERIOD - 440)) | (1L << (HISTORY_TABLE - 440)) | (1L << (LOCK_ESCALATION - 440)) | (1L << (DROP_EXISTING - 440)) | (1L << (ROW_NUMBER - 440)) | (1L << (FIRST - 440)) | (1L << (DATETIME2 - 440)) | (1L << (OUTPUT - 440)) | (1L << (INSERTED - 440)) | (1L << (DELETED - 440)))) != 0) || ((((_la - 504)) & ~0x3f) == 0 && ((1L << (_la - 504)) & ((1L << (FILENAME - 504)) | (1L << (SIZE - 504)) | (1L << (MAXSIZE - 504)) | (1L << (FILEGROWTH - 504)) | (1L << (UNLIMITED - 504)) | (1L << (KB - 504)) | (1L << (MB - 504)) | (1L << (GB - 504)) | (1L << (TB - 504)) | (1L << (CONTAINS - 504)) | (1L << (MEMORY_OPTIMIZED_DATA - 504)) | (1L << (FILEGROUP - 504)) | (1L << (NON_TRANSACTED_ACCESS - 504)) | (1L << (DB_CHAINING - 504)) | (1L << (TRUSTWORTHY - 504)) | (1L << (FORWARD_ONLY - 504)) | (1L << (KEYSET - 504)) | (1L << (FAST_FORWARD - 504)) | (1L << (SCROLL_LOCKS - 504)) | (1L << (OPTIMISTIC - 504)) | (1L << (TYPE_WARNING - 504)) | (1L << (SCHEMABINDING - 504)) | (1L << (CALLER - 504)) | (1L << (INPUT - 504)) | (1L << (OWNER - 504)) | (1L << (SNAPSHOT - 504)) | (1L << (REPEATABLE - 504)) | (1L << (SERIALIZABLE - 504)) | (1L << (NATIVE_COMPILATION - 504)) | (1L << (VIEW_METADATA - 504)) | (1L << (INSTEAD - 504)) | (1L << (APPEND - 504)) | (1L << (INCREMENT - 504)) | (1L << (CACHE - 504)) | (1L << (MINVALUE - 504)) | (1L << (MAXVALUE - 504)) | (1L << (RESTART - 504)) | (1L << (LOB_COMPACTION - 504)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 504)) | (1L << (REORGANIZE - 504)) | (1L << (RESUME - 504)) | (1L << (PAUSE - 504)) | (1L << (ABORT - 504)))) != 0) || ((((_la - 570)) & ~0x3f) == 0 && ((1L << (_la - 570)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 570)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 570)) | (1L << (IMMEDIATE - 570)) | (1L << (NO_WAIT - 570)) | (1L << (TARGET_RECOVERY_TIME - 570)) | (1L << (SECONDS - 570)) | (1L << (HONOR_BROKER_PRIORITY - 570)) | (1L << (ERROR_BROKER_CONVERSATIONS - 570)) | (1L << (NEW_BROKER - 570)) | (1L << (DISABLE_BROKER - 570)) | (1L << (ENABLE_BROKER - 570)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 570)) | (1L << (READ_COMMITTED_SNAPSHOT - 570)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 570)) | (1L << (RECURSIVE_TRIGGERS - 570)) | (1L << (QUOTED_IDENTIFIER - 570)) | (1L << (NUMERIC_ROUNDABORT - 570)) | (1L << (CONCAT_NULL_YIELDS_NULL - 570)) | (1L << (COMPATIBILITY_LEVEL - 570)) | (1L << (ARITHABORT - 570)) | (1L << (ANSI_WARNINGS - 570)) | (1L << (ANSI_PADDING - 570)) | (1L << (ANSI_NULLS - 570)) | (1L << (ANSI_NULL_DEFAULT - 570)) | (1L << (PAGE_VERIFY - 570)) | (1L << (CHECKSUM - 570)) | (1L << (TORN_PAGE_DETECTION - 570)) | (1L << (BULK_LOGGED - 570)) | (1L << (RECOVERY - 570)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 570)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 570)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 570)) | (1L << (EXECUTION_COUNT - 570)) | (1L << (QUERY_CAPTURE_POLICY - 570)) | (1L << (WAIT_STATS_CAPTURE_MODE - 570)) | (1L << (MAX_PLANS_PER_QUERY - 570)) | (1L << (QUERY_CAPTURE_MODE - 570)) | (1L << (SIZE_BASED_CLEANUP_MODE - 570)) | (1L << (INTERVAL_LENGTH_MINUTES - 570)) | (1L << (MAX_STORAGE_SIZE_MB - 570)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 570)) | (1L << (CLEANUP_POLICY - 570)) | (1L << (CUSTOM - 570)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 570)) | (1L << (OPERATION_MODE - 570)) | (1L << (QUERY_STORE - 570)) | (1L << (CURSOR_DEFAULT - 570)) | (1L << (GLOBAL - 570)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 570)) | (1L << (HOURS - 570)) | (1L << (CHANGE_RETENTION - 570)) | (1L << (AUTO_CLEANUP - 570)) | (1L << (CHANGE_TRACKING - 570)) | (1L << (AUTOMATIC_TUNING - 570)) | (1L << (FORCE_LAST_GOOD_PLAN - 570)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 570)) | (1L << (AUTO_UPDATE_STATISTICS - 570)) | (1L << (AUTO_SHRINK - 570)) | (1L << (AUTO_CREATE_STATISTICS - 570)) | (1L << (INCREMENTAL - 570)) | (1L << (AUTO_CLOSE - 570)) | (1L << (DATA_RETENTION - 570)) | (1L << (TEMPORAL_HISTORY_RETENTION - 570)) | (1L << (EDITION - 570)))) != 0) || ((((_la - 634)) & ~0x3f) == 0 && ((1L << (_la - 634)) & ((1L << (MIXED_PAGE_ALLOCATION - 634)) | (1L << (DISABLED - 634)) | (1L << (ALLOWED - 634)) | (1L << (HADR - 634)) | (1L << (MULTI_USER - 634)) | (1L << (RESTRICTED_USER - 634)) | (1L << (SINGLE_USER - 634)) | (1L << (OFFLINE - 634)) | (1L << (EMERGENCY - 634)) | (1L << (SUSPEND - 634)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 634)) | (1L << (ELASTIC_POOL - 634)) | (1L << (SERVICE_OBJECTIVE - 634)) | (1L << (DATABASE_NAME - 634)) | (1L << (ALLOW_CONNECTIONS - 634)) | (1L << (GEO - 634)) | (1L << (NAMED - 634)) | (1L << (DATEFIRST - 634)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 634)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 634)) | (1L << (SECONDARY - 634)) | (1L << (FAILOVER - 634)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 634)) | (1L << (DEFAULT_LANGUAGE - 634)) | (1L << (INLINE - 634)) | (1L << (NESTED_TRIGGERS - 634)) | (1L << (TRANSFORM_NOISE_WORDS - 634)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 634)) | (1L << (PERSISTENT_LOG_BUFFER - 634)) | (1L << (DIRECTORY_NAME - 634)) | (1L << (DATEFORMAT - 634)) | (1L << (DELAYED_DURABILITY - 634)) | (1L << (AUTHORIZATION - 634)) | (1L << (TRANSFER - 634)) | (1L << (PROVIDER - 634)) | (1L << (SEARCH - 634)) | (1L << (MEMBER - 634)))) != 0) || _la==IDENTIFIER_ || _la==DELIMITED_IDENTIFIER_) {
41851 {
41852 setState(5789);
41853 cteClauseSet();
41854 }
41855 }
41856
41857 }
41858 }
41859 catch (RecognitionException re) {
41860 _localctx.exception = re;
41861 _errHandler.reportError(this, re);
41862 _errHandler.recover(this, re);
41863 }
41864 finally {
41865 exitRule();
41866 }
41867 return _localctx;
41868 }
41869
41870 public static class XmlNamespacesClauseContext extends ParserRuleContext {
41871 public TerminalNode XMLNAMESPACES() { return getToken(SQLServerStatementParser.XMLNAMESPACES, 0); }
41872 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
41873 public List<XmlNamespaceDeclarationItemContext> xmlNamespaceDeclarationItem() {
41874 return getRuleContexts(XmlNamespaceDeclarationItemContext.class);
41875 }
41876 public XmlNamespaceDeclarationItemContext xmlNamespaceDeclarationItem(int i) {
41877 return getRuleContext(XmlNamespaceDeclarationItemContext.class,i);
41878 }
41879 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
41880 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41881 public TerminalNode COMMA_(int i) {
41882 return getToken(SQLServerStatementParser.COMMA_, i);
41883 }
41884 public XmlNamespacesClauseContext(ParserRuleContext parent, int invokingState) {
41885 super(parent, invokingState);
41886 }
41887 @Override public int getRuleIndex() { return RULE_xmlNamespacesClause; }
41888 @Override
41889 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41890 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespacesClause(this);
41891 else return visitor.visitChildren(this);
41892 }
41893 }
41894
41895 public final XmlNamespacesClauseContext xmlNamespacesClause() throws RecognitionException {
41896 XmlNamespacesClauseContext _localctx = new XmlNamespacesClauseContext(_ctx, getState());
41897 enterRule(_localctx, 804, RULE_xmlNamespacesClause);
41898 int _la;
41899 try {
41900 enterOuterAlt(_localctx, 1);
41901 {
41902 setState(5792);
41903 match(XMLNAMESPACES);
41904 setState(5793);
41905 match(LP_);
41906 setState(5794);
41907 xmlNamespaceDeclarationItem();
41908 setState(5799);
41909 _errHandler.sync(this);
41910 _la = _input.LA(1);
41911 while (_la==COMMA_) {
41912 {
41913 {
41914 setState(5795);
41915 match(COMMA_);
41916 setState(5796);
41917 xmlNamespaceDeclarationItem();
41918 }
41919 }
41920 setState(5801);
41921 _errHandler.sync(this);
41922 _la = _input.LA(1);
41923 }
41924 setState(5802);
41925 match(RP_);
41926 }
41927 }
41928 catch (RecognitionException re) {
41929 _localctx.exception = re;
41930 _errHandler.reportError(this, re);
41931 _errHandler.recover(this, re);
41932 }
41933 finally {
41934 exitRule();
41935 }
41936 return _localctx;
41937 }
41938
41939 public static class XmlNamespaceDeclarationItemContext extends ParserRuleContext {
41940 public XmlNamespaceUriContext xmlNamespaceUri() {
41941 return getRuleContext(XmlNamespaceUriContext.class,0);
41942 }
41943 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
41944 public XmlNamespacePrefixContext xmlNamespacePrefix() {
41945 return getRuleContext(XmlNamespacePrefixContext.class,0);
41946 }
41947 public XmlDefaultNamespaceDeclarationItemContext xmlDefaultNamespaceDeclarationItem() {
41948 return getRuleContext(XmlDefaultNamespaceDeclarationItemContext.class,0);
41949 }
41950 public XmlNamespaceDeclarationItemContext(ParserRuleContext parent, int invokingState) {
41951 super(parent, invokingState);
41952 }
41953 @Override public int getRuleIndex() { return RULE_xmlNamespaceDeclarationItem; }
41954 @Override
41955 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41956 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespaceDeclarationItem(this);
41957 else return visitor.visitChildren(this);
41958 }
41959 }
41960
41961 public final XmlNamespaceDeclarationItemContext xmlNamespaceDeclarationItem() throws RecognitionException {
41962 XmlNamespaceDeclarationItemContext _localctx = new XmlNamespaceDeclarationItemContext(_ctx, getState());
41963 enterRule(_localctx, 806, RULE_xmlNamespaceDeclarationItem);
41964 try {
41965 setState(5809);
41966 _errHandler.sync(this);
41967 switch (_input.LA(1)) {
41968 case STRING_:
41969 case NCHAR_TEXT:
41970 enterOuterAlt(_localctx, 1);
41971 {
41972 setState(5804);
41973 xmlNamespaceUri();
41974 setState(5805);
41975 match(AS);
41976 setState(5806);
41977 xmlNamespacePrefix();
41978 }
41979 break;
41980 case DEFAULT:
41981 enterOuterAlt(_localctx, 2);
41982 {
41983 setState(5808);
41984 xmlDefaultNamespaceDeclarationItem();
41985 }
41986 break;
41987 default:
41988 throw new NoViableAltException(this);
41989 }
41990 }
41991 catch (RecognitionException re) {
41992 _localctx.exception = re;
41993 _errHandler.reportError(this, re);
41994 _errHandler.recover(this, re);
41995 }
41996 finally {
41997 exitRule();
41998 }
41999 return _localctx;
42000 }
42001
42002 public static class XmlNamespaceUriContext extends ParserRuleContext {
42003 public StringLiteralsContext stringLiterals() {
42004 return getRuleContext(StringLiteralsContext.class,0);
42005 }
42006 public XmlNamespaceUriContext(ParserRuleContext parent, int invokingState) {
42007 super(parent, invokingState);
42008 }
42009 @Override public int getRuleIndex() { return RULE_xmlNamespaceUri; }
42010 @Override
42011 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42012 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespaceUri(this);
42013 else return visitor.visitChildren(this);
42014 }
42015 }
42016
42017 public final XmlNamespaceUriContext xmlNamespaceUri() throws RecognitionException {
42018 XmlNamespaceUriContext _localctx = new XmlNamespaceUriContext(_ctx, getState());
42019 enterRule(_localctx, 808, RULE_xmlNamespaceUri);
42020 try {
42021 enterOuterAlt(_localctx, 1);
42022 {
42023 setState(5811);
42024 stringLiterals();
42025 }
42026 }
42027 catch (RecognitionException re) {
42028 _localctx.exception = re;
42029 _errHandler.reportError(this, re);
42030 _errHandler.recover(this, re);
42031 }
42032 finally {
42033 exitRule();
42034 }
42035 return _localctx;
42036 }
42037
42038 public static class XmlNamespacePrefixContext extends ParserRuleContext {
42039 public IdentifierContext identifier() {
42040 return getRuleContext(IdentifierContext.class,0);
42041 }
42042 public XmlNamespacePrefixContext(ParserRuleContext parent, int invokingState) {
42043 super(parent, invokingState);
42044 }
42045 @Override public int getRuleIndex() { return RULE_xmlNamespacePrefix; }
42046 @Override
42047 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42048 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespacePrefix(this);
42049 else return visitor.visitChildren(this);
42050 }
42051 }
42052
42053 public final XmlNamespacePrefixContext xmlNamespacePrefix() throws RecognitionException {
42054 XmlNamespacePrefixContext _localctx = new XmlNamespacePrefixContext(_ctx, getState());
42055 enterRule(_localctx, 810, RULE_xmlNamespacePrefix);
42056 try {
42057 enterOuterAlt(_localctx, 1);
42058 {
42059 setState(5813);
42060 identifier();
42061 }
42062 }
42063 catch (RecognitionException re) {
42064 _localctx.exception = re;
42065 _errHandler.reportError(this, re);
42066 _errHandler.recover(this, re);
42067 }
42068 finally {
42069 exitRule();
42070 }
42071 return _localctx;
42072 }
42073
42074 public static class XmlDefaultNamespaceDeclarationItemContext extends ParserRuleContext {
42075 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
42076 public XmlNamespaceUriContext xmlNamespaceUri() {
42077 return getRuleContext(XmlNamespaceUriContext.class,0);
42078 }
42079 public XmlDefaultNamespaceDeclarationItemContext(ParserRuleContext parent, int invokingState) {
42080 super(parent, invokingState);
42081 }
42082 @Override public int getRuleIndex() { return RULE_xmlDefaultNamespaceDeclarationItem; }
42083 @Override
42084 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42085 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlDefaultNamespaceDeclarationItem(this);
42086 else return visitor.visitChildren(this);
42087 }
42088 }
42089
42090 public final XmlDefaultNamespaceDeclarationItemContext xmlDefaultNamespaceDeclarationItem() throws RecognitionException {
42091 XmlDefaultNamespaceDeclarationItemContext _localctx = new XmlDefaultNamespaceDeclarationItemContext(_ctx, getState());
42092 enterRule(_localctx, 812, RULE_xmlDefaultNamespaceDeclarationItem);
42093 try {
42094 enterOuterAlt(_localctx, 1);
42095 {
42096 setState(5815);
42097 match(DEFAULT);
42098 setState(5816);
42099 xmlNamespaceUri();
42100 }
42101 }
42102 catch (RecognitionException re) {
42103 _localctx.exception = re;
42104 _errHandler.reportError(this, re);
42105 _errHandler.recover(this, re);
42106 }
42107 finally {
42108 exitRule();
42109 }
42110 return _localctx;
42111 }
42112
42113 public static class GrantContext extends ParserRuleContext {
42114 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
42115 public GrantClassPrivilegesClauseContext grantClassPrivilegesClause() {
42116 return getRuleContext(GrantClassPrivilegesClauseContext.class,0);
42117 }
42118 public GrantClassTypePrivilegesClauseContext grantClassTypePrivilegesClause() {
42119 return getRuleContext(GrantClassTypePrivilegesClauseContext.class,0);
42120 }
42121 public GrantContext(ParserRuleContext parent, int invokingState) {
42122 super(parent, invokingState);
42123 }
42124 @Override public int getRuleIndex() { return RULE_grant; }
42125 @Override
42126 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42127 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGrant(this);
42128 else return visitor.visitChildren(this);
42129 }
42130 }
42131
42132 public final GrantContext grant() throws RecognitionException {
42133 GrantContext _localctx = new GrantContext(_ctx, getState());
42134 enterRule(_localctx, 814, RULE_grant);
42135 try {
42136 enterOuterAlt(_localctx, 1);
42137 {
42138 setState(5818);
42139 match(GRANT);
42140 setState(5821);
42141 _errHandler.sync(this);
42142 switch ( getInterpreter().adaptivePredict(_input,677,_ctx) ) {
42143 case 1:
42144 {
42145 setState(5819);
42146 grantClassPrivilegesClause();
42147 }
42148 break;
42149 case 2:
42150 {
42151 setState(5820);
42152 grantClassTypePrivilegesClause();
42153 }
42154 break;
42155 }
42156 }
42157 }
42158 catch (RecognitionException re) {
42159 _localctx.exception = re;
42160 _errHandler.reportError(this, re);
42161 _errHandler.recover(this, re);
42162 }
42163 finally {
42164 exitRule();
42165 }
42166 return _localctx;
42167 }
42168
42169 public static class GrantClassPrivilegesClauseContext extends ParserRuleContext {
42170 public ClassPrivilegesContext classPrivileges() {
42171 return getRuleContext(ClassPrivilegesContext.class,0);
42172 }
42173 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
42174 public List<PrincipalContext> principal() {
42175 return getRuleContexts(PrincipalContext.class);
42176 }
42177 public PrincipalContext principal(int i) {
42178 return getRuleContext(PrincipalContext.class,i);
42179 }
42180 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
42181 public OnClassClauseContext onClassClause() {
42182 return getRuleContext(OnClassClauseContext.class,0);
42183 }
42184 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
42185 public TerminalNode COMMA_(int i) {
42186 return getToken(SQLServerStatementParser.COMMA_, i);
42187 }
42188 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
42189 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
42190 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
42191 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
42192 public GrantClassPrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
42193 super(parent, invokingState);
42194 }
42195 @Override public int getRuleIndex() { return RULE_grantClassPrivilegesClause; }
42196 @Override
42197 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42198 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGrantClassPrivilegesClause(this);
42199 else return visitor.visitChildren(this);
42200 }
42201 }
42202
42203 public final GrantClassPrivilegesClauseContext grantClassPrivilegesClause() throws RecognitionException {
42204 GrantClassPrivilegesClauseContext _localctx = new GrantClassPrivilegesClauseContext(_ctx, getState());
42205 enterRule(_localctx, 816, RULE_grantClassPrivilegesClause);
42206 int _la;
42207 try {
42208 enterOuterAlt(_localctx, 1);
42209 {
42210 setState(5823);
42211 classPrivileges();
42212 setState(5826);
42213 _errHandler.sync(this);
42214 _la = _input.LA(1);
42215 if (_la==ON) {
42216 {
42217 setState(5824);
42218 match(ON);
42219 setState(5825);
42220 onClassClause();
42221 }
42222 }
42223
42224 setState(5828);
42225 match(TO);
42226 setState(5829);
42227 principal();
42228 setState(5834);
42229 _errHandler.sync(this);
42230 _la = _input.LA(1);
42231 while (_la==COMMA_) {
42232 {
42233 {
42234 setState(5830);
42235 match(COMMA_);
42236 setState(5831);
42237 principal();
42238 }
42239 }
42240 setState(5836);
42241 _errHandler.sync(this);
42242 _la = _input.LA(1);
42243 }
42244 setState(5840);
42245 _errHandler.sync(this);
42246 _la = _input.LA(1);
42247 if (_la==WITH) {
42248 {
42249 setState(5837);
42250 match(WITH);
42251 setState(5838);
42252 match(GRANT);
42253 setState(5839);
42254 match(OPTION);
42255 }
42256 }
42257
42258 setState(5844);
42259 _errHandler.sync(this);
42260 _la = _input.LA(1);
42261 if (_la==AS) {
42262 {
42263 setState(5842);
42264 match(AS);
42265 setState(5843);
42266 principal();
42267 }
42268 }
42269
42270 }
42271 }
42272 catch (RecognitionException re) {
42273 _localctx.exception = re;
42274 _errHandler.reportError(this, re);
42275 _errHandler.recover(this, re);
42276 }
42277 finally {
42278 exitRule();
42279 }
42280 return _localctx;
42281 }
42282
42283 public static class GrantClassTypePrivilegesClauseContext extends ParserRuleContext {
42284 public ClassTypePrivilegesContext classTypePrivileges() {
42285 return getRuleContext(ClassTypePrivilegesContext.class,0);
42286 }
42287 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
42288 public List<PrincipalContext> principal() {
42289 return getRuleContexts(PrincipalContext.class);
42290 }
42291 public PrincipalContext principal(int i) {
42292 return getRuleContext(PrincipalContext.class,i);
42293 }
42294 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
42295 public OnClassTypeClauseContext onClassTypeClause() {
42296 return getRuleContext(OnClassTypeClauseContext.class,0);
42297 }
42298 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
42299 public TerminalNode COMMA_(int i) {
42300 return getToken(SQLServerStatementParser.COMMA_, i);
42301 }
42302 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
42303 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
42304 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
42305 public GrantClassTypePrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
42306 super(parent, invokingState);
42307 }
42308 @Override public int getRuleIndex() { return RULE_grantClassTypePrivilegesClause; }
42309 @Override
42310 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42311 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGrantClassTypePrivilegesClause(this);
42312 else return visitor.visitChildren(this);
42313 }
42314 }
42315
42316 public final GrantClassTypePrivilegesClauseContext grantClassTypePrivilegesClause() throws RecognitionException {
42317 GrantClassTypePrivilegesClauseContext _localctx = new GrantClassTypePrivilegesClauseContext(_ctx, getState());
42318 enterRule(_localctx, 818, RULE_grantClassTypePrivilegesClause);
42319 int _la;
42320 try {
42321 enterOuterAlt(_localctx, 1);
42322 {
42323 setState(5846);
42324 classTypePrivileges();
42325 setState(5849);
42326 _errHandler.sync(this);
42327 _la = _input.LA(1);
42328 if (_la==ON) {
42329 {
42330 setState(5847);
42331 match(ON);
42332 setState(5848);
42333 onClassTypeClause();
42334 }
42335 }
42336
42337 setState(5851);
42338 match(TO);
42339 setState(5852);
42340 principal();
42341 setState(5857);
42342 _errHandler.sync(this);
42343 _la = _input.LA(1);
42344 while (_la==COMMA_) {
42345 {
42346 {
42347 setState(5853);
42348 match(COMMA_);
42349 setState(5854);
42350 principal();
42351 }
42352 }
42353 setState(5859);
42354 _errHandler.sync(this);
42355 _la = _input.LA(1);
42356 }
42357 setState(5863);
42358 _errHandler.sync(this);
42359 _la = _input.LA(1);
42360 if (_la==WITH) {
42361 {
42362 setState(5860);
42363 match(WITH);
42364 setState(5861);
42365 match(GRANT);
42366 setState(5862);
42367 match(OPTION);
42368 }
42369 }
42370
42371 }
42372 }
42373 catch (RecognitionException re) {
42374 _localctx.exception = re;
42375 _errHandler.reportError(this, re);
42376 _errHandler.recover(this, re);
42377 }
42378 finally {
42379 exitRule();
42380 }
42381 return _localctx;
42382 }
42383
42384 public static class ClassPrivilegesContext extends ParserRuleContext {
42385 public List<PrivilegeTypeContext> privilegeType() {
42386 return getRuleContexts(PrivilegeTypeContext.class);
42387 }
42388 public PrivilegeTypeContext privilegeType(int i) {
42389 return getRuleContext(PrivilegeTypeContext.class,i);
42390 }
42391 public List<ColumnNamesContext> columnNames() {
42392 return getRuleContexts(ColumnNamesContext.class);
42393 }
42394 public ColumnNamesContext columnNames(int i) {
42395 return getRuleContext(ColumnNamesContext.class,i);
42396 }
42397 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
42398 public TerminalNode COMMA_(int i) {
42399 return getToken(SQLServerStatementParser.COMMA_, i);
42400 }
42401 public ClassPrivilegesContext(ParserRuleContext parent, int invokingState) {
42402 super(parent, invokingState);
42403 }
42404 @Override public int getRuleIndex() { return RULE_classPrivileges; }
42405 @Override
42406 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42407 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassPrivileges(this);
42408 else return visitor.visitChildren(this);
42409 }
42410 }
42411
42412 public final ClassPrivilegesContext classPrivileges() throws RecognitionException {
42413 ClassPrivilegesContext _localctx = new ClassPrivilegesContext(_ctx, getState());
42414 enterRule(_localctx, 820, RULE_classPrivileges);
42415 int _la;
42416 try {
42417 enterOuterAlt(_localctx, 1);
42418 {
42419 setState(5865);
42420 privilegeType();
42421 setState(5867);
42422 _errHandler.sync(this);
42423 _la = _input.LA(1);
42424 if (_la==LP_) {
42425 {
42426 setState(5866);
42427 columnNames();
42428 }
42429 }
42430
42431 setState(5876);
42432 _errHandler.sync(this);
42433 _la = _input.LA(1);
42434 while (_la==COMMA_) {
42435 {
42436 {
42437 setState(5869);
42438 match(COMMA_);
42439 setState(5870);
42440 privilegeType();
42441 setState(5872);
42442 _errHandler.sync(this);
42443 _la = _input.LA(1);
42444 if (_la==LP_) {
42445 {
42446 setState(5871);
42447 columnNames();
42448 }
42449 }
42450
42451 }
42452 }
42453 setState(5878);
42454 _errHandler.sync(this);
42455 _la = _input.LA(1);
42456 }
42457 }
42458 }
42459 catch (RecognitionException re) {
42460 _localctx.exception = re;
42461 _errHandler.reportError(this, re);
42462 _errHandler.recover(this, re);
42463 }
42464 finally {
42465 exitRule();
42466 }
42467 return _localctx;
42468 }
42469
42470 public static class OnClassClauseContext extends ParserRuleContext {
42471 public SecurableContext securable() {
42472 return getRuleContext(SecurableContext.class,0);
42473 }
42474 public ClassItemContext classItem() {
42475 return getRuleContext(ClassItemContext.class,0);
42476 }
42477 public List<TerminalNode> COLON_() { return getTokens(SQLServerStatementParser.COLON_); }
42478 public TerminalNode COLON_(int i) {
42479 return getToken(SQLServerStatementParser.COLON_, i);
42480 }
42481 public OnClassClauseContext(ParserRuleContext parent, int invokingState) {
42482 super(parent, invokingState);
42483 }
42484 @Override public int getRuleIndex() { return RULE_onClassClause; }
42485 @Override
42486 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42487 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnClassClause(this);
42488 else return visitor.visitChildren(this);
42489 }
42490 }
42491
42492 public final OnClassClauseContext onClassClause() throws RecognitionException {
42493 OnClassClauseContext _localctx = new OnClassClauseContext(_ctx, getState());
42494 enterRule(_localctx, 822, RULE_onClassClause);
42495 try {
42496 enterOuterAlt(_localctx, 1);
42497 {
42498 setState(5883);
42499 _errHandler.sync(this);
42500 switch ( getInterpreter().adaptivePredict(_input,688,_ctx) ) {
42501 case 1:
42502 {
42503 setState(5879);
42504 classItem();
42505 setState(5880);
42506 match(COLON_);
42507 setState(5881);
42508 match(COLON_);
42509 }
42510 break;
42511 }
42512 setState(5885);
42513 securable();
42514 }
42515 }
42516 catch (RecognitionException re) {
42517 _localctx.exception = re;
42518 _errHandler.reportError(this, re);
42519 _errHandler.recover(this, re);
42520 }
42521 finally {
42522 exitRule();
42523 }
42524 return _localctx;
42525 }
42526
42527 public static class ClassTypePrivilegesContext extends ParserRuleContext {
42528 public List<PrivilegeTypeContext> privilegeType() {
42529 return getRuleContexts(PrivilegeTypeContext.class);
42530 }
42531 public PrivilegeTypeContext privilegeType(int i) {
42532 return getRuleContext(PrivilegeTypeContext.class,i);
42533 }
42534 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
42535 public TerminalNode COMMA_(int i) {
42536 return getToken(SQLServerStatementParser.COMMA_, i);
42537 }
42538 public ClassTypePrivilegesContext(ParserRuleContext parent, int invokingState) {
42539 super(parent, invokingState);
42540 }
42541 @Override public int getRuleIndex() { return RULE_classTypePrivileges; }
42542 @Override
42543 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42544 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassTypePrivileges(this);
42545 else return visitor.visitChildren(this);
42546 }
42547 }
42548
42549 public final ClassTypePrivilegesContext classTypePrivileges() throws RecognitionException {
42550 ClassTypePrivilegesContext _localctx = new ClassTypePrivilegesContext(_ctx, getState());
42551 enterRule(_localctx, 824, RULE_classTypePrivileges);
42552 int _la;
42553 try {
42554 enterOuterAlt(_localctx, 1);
42555 {
42556 setState(5887);
42557 privilegeType();
42558 setState(5892);
42559 _errHandler.sync(this);
42560 _la = _input.LA(1);
42561 while (_la==COMMA_) {
42562 {
42563 {
42564 setState(5888);
42565 match(COMMA_);
42566 setState(5889);
42567 privilegeType();
42568 }
42569 }
42570 setState(5894);
42571 _errHandler.sync(this);
42572 _la = _input.LA(1);
42573 }
42574 }
42575 }
42576 catch (RecognitionException re) {
42577 _localctx.exception = re;
42578 _errHandler.reportError(this, re);
42579 _errHandler.recover(this, re);
42580 }
42581 finally {
42582 exitRule();
42583 }
42584 return _localctx;
42585 }
42586
42587 public static class OnClassTypeClauseContext extends ParserRuleContext {
42588 public SecurableContext securable() {
42589 return getRuleContext(SecurableContext.class,0);
42590 }
42591 public ClassTypeContext classType() {
42592 return getRuleContext(ClassTypeContext.class,0);
42593 }
42594 public List<TerminalNode> COLON_() { return getTokens(SQLServerStatementParser.COLON_); }
42595 public TerminalNode COLON_(int i) {
42596 return getToken(SQLServerStatementParser.COLON_, i);
42597 }
42598 public OnClassTypeClauseContext(ParserRuleContext parent, int invokingState) {
42599 super(parent, invokingState);
42600 }
42601 @Override public int getRuleIndex() { return RULE_onClassTypeClause; }
42602 @Override
42603 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42604 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnClassTypeClause(this);
42605 else return visitor.visitChildren(this);
42606 }
42607 }
42608
42609 public final OnClassTypeClauseContext onClassTypeClause() throws RecognitionException {
42610 OnClassTypeClauseContext _localctx = new OnClassTypeClauseContext(_ctx, getState());
42611 enterRule(_localctx, 826, RULE_onClassTypeClause);
42612 try {
42613 enterOuterAlt(_localctx, 1);
42614 {
42615 setState(5899);
42616 _errHandler.sync(this);
42617 switch ( getInterpreter().adaptivePredict(_input,690,_ctx) ) {
42618 case 1:
42619 {
42620 setState(5895);
42621 classType();
42622 setState(5896);
42623 match(COLON_);
42624 setState(5897);
42625 match(COLON_);
42626 }
42627 break;
42628 }
42629 setState(5901);
42630 securable();
42631 }
42632 }
42633 catch (RecognitionException re) {
42634 _localctx.exception = re;
42635 _errHandler.reportError(this, re);
42636 _errHandler.recover(this, re);
42637 }
42638 finally {
42639 exitRule();
42640 }
42641 return _localctx;
42642 }
42643
42644 public static class SecurableContext extends ParserRuleContext {
42645 public NameContext name() {
42646 return getRuleContext(NameContext.class,0);
42647 }
42648 public OwnerContext owner() {
42649 return getRuleContext(OwnerContext.class,0);
42650 }
42651 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
42652 public SecurableContext(ParserRuleContext parent, int invokingState) {
42653 super(parent, invokingState);
42654 }
42655 @Override public int getRuleIndex() { return RULE_securable; }
42656 @Override
42657 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42658 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSecurable(this);
42659 else return visitor.visitChildren(this);
42660 }
42661 }
42662
42663 public final SecurableContext securable() throws RecognitionException {
42664 SecurableContext _localctx = new SecurableContext(_ctx, getState());
42665 enterRule(_localctx, 828, RULE_securable);
42666 try {
42667 enterOuterAlt(_localctx, 1);
42668 {
42669 setState(5906);
42670 _errHandler.sync(this);
42671 switch ( getInterpreter().adaptivePredict(_input,691,_ctx) ) {
42672 case 1:
42673 {
42674 setState(5903);
42675 owner();
42676 setState(5904);
42677 match(DOT_);
42678 }
42679 break;
42680 }
42681 setState(5908);
42682 name();
42683 }
42684 }
42685 catch (RecognitionException re) {
42686 _localctx.exception = re;
42687 _errHandler.reportError(this, re);
42688 _errHandler.recover(this, re);
42689 }
42690 finally {
42691 exitRule();
42692 }
42693 return _localctx;
42694 }
42695
42696 public static class PrincipalContext extends ParserRuleContext {
42697 public UserNameContext userName() {
42698 return getRuleContext(UserNameContext.class,0);
42699 }
42700 public PrincipalContext(ParserRuleContext parent, int invokingState) {
42701 super(parent, invokingState);
42702 }
42703 @Override public int getRuleIndex() { return RULE_principal; }
42704 @Override
42705 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42706 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrincipal(this);
42707 else return visitor.visitChildren(this);
42708 }
42709 }
42710
42711 public final PrincipalContext principal() throws RecognitionException {
42712 PrincipalContext _localctx = new PrincipalContext(_ctx, getState());
42713 enterRule(_localctx, 830, RULE_principal);
42714 try {
42715 enterOuterAlt(_localctx, 1);
42716 {
42717 setState(5910);
42718 userName();
42719 }
42720 }
42721 catch (RecognitionException re) {
42722 _localctx.exception = re;
42723 _errHandler.reportError(this, re);
42724 _errHandler.recover(this, re);
42725 }
42726 finally {
42727 exitRule();
42728 }
42729 return _localctx;
42730 }
42731
42732 public static class RevokeContext extends ParserRuleContext {
42733 public TerminalNode REVOKE() { return getToken(SQLServerStatementParser.REVOKE, 0); }
42734 public RevokeClassPrivilegesClauseContext revokeClassPrivilegesClause() {
42735 return getRuleContext(RevokeClassPrivilegesClauseContext.class,0);
42736 }
42737 public RevokeClassTypePrivilegesClauseContext revokeClassTypePrivilegesClause() {
42738 return getRuleContext(RevokeClassTypePrivilegesClauseContext.class,0);
42739 }
42740 public OptionForClauseContext optionForClause() {
42741 return getRuleContext(OptionForClauseContext.class,0);
42742 }
42743 public RevokeContext(ParserRuleContext parent, int invokingState) {
42744 super(parent, invokingState);
42745 }
42746 @Override public int getRuleIndex() { return RULE_revoke; }
42747 @Override
42748 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42749 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevoke(this);
42750 else return visitor.visitChildren(this);
42751 }
42752 }
42753
42754 public final RevokeContext revoke() throws RecognitionException {
42755 RevokeContext _localctx = new RevokeContext(_ctx, getState());
42756 enterRule(_localctx, 832, RULE_revoke);
42757 int _la;
42758 try {
42759 enterOuterAlt(_localctx, 1);
42760 {
42761 setState(5912);
42762 match(REVOKE);
42763 setState(5918);
42764 _errHandler.sync(this);
42765 switch ( getInterpreter().adaptivePredict(_input,693,_ctx) ) {
42766 case 1:
42767 {
42768 setState(5914);
42769 _errHandler.sync(this);
42770 _la = _input.LA(1);
42771 if (_la==GRANT) {
42772 {
42773 setState(5913);
42774 optionForClause();
42775 }
42776 }
42777
42778 setState(5916);
42779 revokeClassPrivilegesClause();
42780 }
42781 break;
42782 case 2:
42783 {
42784 setState(5917);
42785 revokeClassTypePrivilegesClause();
42786 }
42787 break;
42788 }
42789 }
42790 }
42791 catch (RecognitionException re) {
42792 _localctx.exception = re;
42793 _errHandler.reportError(this, re);
42794 _errHandler.recover(this, re);
42795 }
42796 finally {
42797 exitRule();
42798 }
42799 return _localctx;
42800 }
42801
42802 public static class RevokeClassPrivilegesClauseContext extends ParserRuleContext {
42803 public ClassPrivilegesContext classPrivileges() {
42804 return getRuleContext(ClassPrivilegesContext.class,0);
42805 }
42806 public List<PrincipalContext> principal() {
42807 return getRuleContexts(PrincipalContext.class);
42808 }
42809 public PrincipalContext principal(int i) {
42810 return getRuleContext(PrincipalContext.class,i);
42811 }
42812 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
42813 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
42814 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
42815 public OnClassClauseContext onClassClause() {
42816 return getRuleContext(OnClassClauseContext.class,0);
42817 }
42818 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
42819 public TerminalNode COMMA_(int i) {
42820 return getToken(SQLServerStatementParser.COMMA_, i);
42821 }
42822 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
42823 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
42824 public RevokeClassPrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
42825 super(parent, invokingState);
42826 }
42827 @Override public int getRuleIndex() { return RULE_revokeClassPrivilegesClause; }
42828 @Override
42829 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42830 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevokeClassPrivilegesClause(this);
42831 else return visitor.visitChildren(this);
42832 }
42833 }
42834
42835 public final RevokeClassPrivilegesClauseContext revokeClassPrivilegesClause() throws RecognitionException {
42836 RevokeClassPrivilegesClauseContext _localctx = new RevokeClassPrivilegesClauseContext(_ctx, getState());
42837 enterRule(_localctx, 834, RULE_revokeClassPrivilegesClause);
42838 int _la;
42839 try {
42840 enterOuterAlt(_localctx, 1);
42841 {
42842 setState(5920);
42843 classPrivileges();
42844 setState(5923);
42845 _errHandler.sync(this);
42846 _la = _input.LA(1);
42847 if (_la==ON) {
42848 {
42849 setState(5921);
42850 match(ON);
42851 setState(5922);
42852 onClassClause();
42853 }
42854 }
42855
42856 setState(5925);
42857 _la = _input.LA(1);
42858 if ( !(_la==FROM || _la==TO) ) {
42859 _errHandler.recoverInline(this);
42860 }
42861 else {
42862 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
42863 _errHandler.reportMatch(this);
42864 consume();
42865 }
42866 setState(5926);
42867 principal();
42868 setState(5931);
42869 _errHandler.sync(this);
42870 _la = _input.LA(1);
42871 while (_la==COMMA_) {
42872 {
42873 {
42874 setState(5927);
42875 match(COMMA_);
42876 setState(5928);
42877 principal();
42878 }
42879 }
42880 setState(5933);
42881 _errHandler.sync(this);
42882 _la = _input.LA(1);
42883 }
42884 setState(5935);
42885 _errHandler.sync(this);
42886 _la = _input.LA(1);
42887 if (_la==CASCADE) {
42888 {
42889 setState(5934);
42890 match(CASCADE);
42891 }
42892 }
42893
42894 setState(5939);
42895 _errHandler.sync(this);
42896 _la = _input.LA(1);
42897 if (_la==AS) {
42898 {
42899 setState(5937);
42900 match(AS);
42901 setState(5938);
42902 principal();
42903 }
42904 }
42905
42906 }
42907 }
42908 catch (RecognitionException re) {
42909 _localctx.exception = re;
42910 _errHandler.reportError(this, re);
42911 _errHandler.recover(this, re);
42912 }
42913 finally {
42914 exitRule();
42915 }
42916 return _localctx;
42917 }
42918
42919 public static class RevokeClassTypePrivilegesClauseContext extends ParserRuleContext {
42920 public ClassTypePrivilegesContext classTypePrivileges() {
42921 return getRuleContext(ClassTypePrivilegesContext.class,0);
42922 }
42923 public List<PrincipalContext> principal() {
42924 return getRuleContexts(PrincipalContext.class);
42925 }
42926 public PrincipalContext principal(int i) {
42927 return getRuleContext(PrincipalContext.class,i);
42928 }
42929 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
42930 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
42931 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
42932 public OnClassTypeClauseContext onClassTypeClause() {
42933 return getRuleContext(OnClassTypeClauseContext.class,0);
42934 }
42935 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
42936 public TerminalNode COMMA_(int i) {
42937 return getToken(SQLServerStatementParser.COMMA_, i);
42938 }
42939 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
42940 public RevokeClassTypePrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
42941 super(parent, invokingState);
42942 }
42943 @Override public int getRuleIndex() { return RULE_revokeClassTypePrivilegesClause; }
42944 @Override
42945 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42946 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevokeClassTypePrivilegesClause(this);
42947 else return visitor.visitChildren(this);
42948 }
42949 }
42950
42951 public final RevokeClassTypePrivilegesClauseContext revokeClassTypePrivilegesClause() throws RecognitionException {
42952 RevokeClassTypePrivilegesClauseContext _localctx = new RevokeClassTypePrivilegesClauseContext(_ctx, getState());
42953 enterRule(_localctx, 836, RULE_revokeClassTypePrivilegesClause);
42954 int _la;
42955 try {
42956 enterOuterAlt(_localctx, 1);
42957 {
42958 setState(5941);
42959 classTypePrivileges();
42960 setState(5944);
42961 _errHandler.sync(this);
42962 _la = _input.LA(1);
42963 if (_la==ON) {
42964 {
42965 setState(5942);
42966 match(ON);
42967 setState(5943);
42968 onClassTypeClause();
42969 }
42970 }
42971
42972 setState(5946);
42973 _la = _input.LA(1);
42974 if ( !(_la==FROM || _la==TO) ) {
42975 _errHandler.recoverInline(this);
42976 }
42977 else {
42978 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
42979 _errHandler.reportMatch(this);
42980 consume();
42981 }
42982 setState(5947);
42983 principal();
42984 setState(5952);
42985 _errHandler.sync(this);
42986 _la = _input.LA(1);
42987 while (_la==COMMA_) {
42988 {
42989 {
42990 setState(5948);
42991 match(COMMA_);
42992 setState(5949);
42993 principal();
42994 }
42995 }
42996 setState(5954);
42997 _errHandler.sync(this);
42998 _la = _input.LA(1);
42999 }
43000 setState(5956);
43001 _errHandler.sync(this);
43002 _la = _input.LA(1);
43003 if (_la==CASCADE) {
43004 {
43005 setState(5955);
43006 match(CASCADE);
43007 }
43008 }
43009
43010 }
43011 }
43012 catch (RecognitionException re) {
43013 _localctx.exception = re;
43014 _errHandler.reportError(this, re);
43015 _errHandler.recover(this, re);
43016 }
43017 finally {
43018 exitRule();
43019 }
43020 return _localctx;
43021 }
43022
43023 public static class DenyContext extends ParserRuleContext {
43024 public TerminalNode DENY() { return getToken(SQLServerStatementParser.DENY, 0); }
43025 public DenyClassPrivilegesClauseContext denyClassPrivilegesClause() {
43026 return getRuleContext(DenyClassPrivilegesClauseContext.class,0);
43027 }
43028 public DenyClassTypePrivilegesClauseContext denyClassTypePrivilegesClause() {
43029 return getRuleContext(DenyClassTypePrivilegesClauseContext.class,0);
43030 }
43031 public DenyContext(ParserRuleContext parent, int invokingState) {
43032 super(parent, invokingState);
43033 }
43034 @Override public int getRuleIndex() { return RULE_deny; }
43035 @Override
43036 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43037 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDeny(this);
43038 else return visitor.visitChildren(this);
43039 }
43040 }
43041
43042 public final DenyContext deny() throws RecognitionException {
43043 DenyContext _localctx = new DenyContext(_ctx, getState());
43044 enterRule(_localctx, 838, RULE_deny);
43045 try {
43046 enterOuterAlt(_localctx, 1);
43047 {
43048 setState(5958);
43049 match(DENY);
43050 setState(5961);
43051 _errHandler.sync(this);
43052 switch ( getInterpreter().adaptivePredict(_input,701,_ctx) ) {
43053 case 1:
43054 {
43055 setState(5959);
43056 denyClassPrivilegesClause();
43057 }
43058 break;
43059 case 2:
43060 {
43061 setState(5960);
43062 denyClassTypePrivilegesClause();
43063 }
43064 break;
43065 }
43066 }
43067 }
43068 catch (RecognitionException re) {
43069 _localctx.exception = re;
43070 _errHandler.reportError(this, re);
43071 _errHandler.recover(this, re);
43072 }
43073 finally {
43074 exitRule();
43075 }
43076 return _localctx;
43077 }
43078
43079 public static class DenyClassPrivilegesClauseContext extends ParserRuleContext {
43080 public ClassPrivilegesContext classPrivileges() {
43081 return getRuleContext(ClassPrivilegesContext.class,0);
43082 }
43083 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
43084 public List<PrincipalContext> principal() {
43085 return getRuleContexts(PrincipalContext.class);
43086 }
43087 public PrincipalContext principal(int i) {
43088 return getRuleContext(PrincipalContext.class,i);
43089 }
43090 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
43091 public OnClassClauseContext onClassClause() {
43092 return getRuleContext(OnClassClauseContext.class,0);
43093 }
43094 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
43095 public TerminalNode COMMA_(int i) {
43096 return getToken(SQLServerStatementParser.COMMA_, i);
43097 }
43098 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
43099 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
43100 public DenyClassPrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
43101 super(parent, invokingState);
43102 }
43103 @Override public int getRuleIndex() { return RULE_denyClassPrivilegesClause; }
43104 @Override
43105 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43106 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDenyClassPrivilegesClause(this);
43107 else return visitor.visitChildren(this);
43108 }
43109 }
43110
43111 public final DenyClassPrivilegesClauseContext denyClassPrivilegesClause() throws RecognitionException {
43112 DenyClassPrivilegesClauseContext _localctx = new DenyClassPrivilegesClauseContext(_ctx, getState());
43113 enterRule(_localctx, 840, RULE_denyClassPrivilegesClause);
43114 int _la;
43115 try {
43116 enterOuterAlt(_localctx, 1);
43117 {
43118 setState(5963);
43119 classPrivileges();
43120 setState(5966);
43121 _errHandler.sync(this);
43122 _la = _input.LA(1);
43123 if (_la==ON) {
43124 {
43125 setState(5964);
43126 match(ON);
43127 setState(5965);
43128 onClassClause();
43129 }
43130 }
43131
43132 setState(5968);
43133 match(TO);
43134 setState(5969);
43135 principal();
43136 setState(5974);
43137 _errHandler.sync(this);
43138 _la = _input.LA(1);
43139 while (_la==COMMA_) {
43140 {
43141 {
43142 setState(5970);
43143 match(COMMA_);
43144 setState(5971);
43145 principal();
43146 }
43147 }
43148 setState(5976);
43149 _errHandler.sync(this);
43150 _la = _input.LA(1);
43151 }
43152 setState(5978);
43153 _errHandler.sync(this);
43154 _la = _input.LA(1);
43155 if (_la==CASCADE) {
43156 {
43157 setState(5977);
43158 match(CASCADE);
43159 }
43160 }
43161
43162 setState(5982);
43163 _errHandler.sync(this);
43164 _la = _input.LA(1);
43165 if (_la==AS) {
43166 {
43167 setState(5980);
43168 match(AS);
43169 setState(5981);
43170 principal();
43171 }
43172 }
43173
43174 }
43175 }
43176 catch (RecognitionException re) {
43177 _localctx.exception = re;
43178 _errHandler.reportError(this, re);
43179 _errHandler.recover(this, re);
43180 }
43181 finally {
43182 exitRule();
43183 }
43184 return _localctx;
43185 }
43186
43187 public static class DenyClassTypePrivilegesClauseContext extends ParserRuleContext {
43188 public ClassTypePrivilegesContext classTypePrivileges() {
43189 return getRuleContext(ClassTypePrivilegesContext.class,0);
43190 }
43191 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
43192 public List<PrincipalContext> principal() {
43193 return getRuleContexts(PrincipalContext.class);
43194 }
43195 public PrincipalContext principal(int i) {
43196 return getRuleContext(PrincipalContext.class,i);
43197 }
43198 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
43199 public OnClassTypeClauseContext onClassTypeClause() {
43200 return getRuleContext(OnClassTypeClauseContext.class,0);
43201 }
43202 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
43203 public TerminalNode COMMA_(int i) {
43204 return getToken(SQLServerStatementParser.COMMA_, i);
43205 }
43206 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
43207 public DenyClassTypePrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
43208 super(parent, invokingState);
43209 }
43210 @Override public int getRuleIndex() { return RULE_denyClassTypePrivilegesClause; }
43211 @Override
43212 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43213 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDenyClassTypePrivilegesClause(this);
43214 else return visitor.visitChildren(this);
43215 }
43216 }
43217
43218 public final DenyClassTypePrivilegesClauseContext denyClassTypePrivilegesClause() throws RecognitionException {
43219 DenyClassTypePrivilegesClauseContext _localctx = new DenyClassTypePrivilegesClauseContext(_ctx, getState());
43220 enterRule(_localctx, 842, RULE_denyClassTypePrivilegesClause);
43221 int _la;
43222 try {
43223 enterOuterAlt(_localctx, 1);
43224 {
43225 setState(5984);
43226 classTypePrivileges();
43227 setState(5987);
43228 _errHandler.sync(this);
43229 _la = _input.LA(1);
43230 if (_la==ON) {
43231 {
43232 setState(5985);
43233 match(ON);
43234 setState(5986);
43235 onClassTypeClause();
43236 }
43237 }
43238
43239 setState(5989);
43240 match(TO);
43241 setState(5990);
43242 principal();
43243 setState(5995);
43244 _errHandler.sync(this);
43245 _la = _input.LA(1);
43246 while (_la==COMMA_) {
43247 {
43248 {
43249 setState(5991);
43250 match(COMMA_);
43251 setState(5992);
43252 principal();
43253 }
43254 }
43255 setState(5997);
43256 _errHandler.sync(this);
43257 _la = _input.LA(1);
43258 }
43259 setState(5999);
43260 _errHandler.sync(this);
43261 _la = _input.LA(1);
43262 if (_la==CASCADE) {
43263 {
43264 setState(5998);
43265 match(CASCADE);
43266 }
43267 }
43268
43269 }
43270 }
43271 catch (RecognitionException re) {
43272 _localctx.exception = re;
43273 _errHandler.reportError(this, re);
43274 _errHandler.recover(this, re);
43275 }
43276 finally {
43277 exitRule();
43278 }
43279 return _localctx;
43280 }
43281
43282 public static class OptionForClauseContext extends ParserRuleContext {
43283 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
43284 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
43285 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
43286 public OptionForClauseContext(ParserRuleContext parent, int invokingState) {
43287 super(parent, invokingState);
43288 }
43289 @Override public int getRuleIndex() { return RULE_optionForClause; }
43290 @Override
43291 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43292 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOptionForClause(this);
43293 else return visitor.visitChildren(this);
43294 }
43295 }
43296
43297 public final OptionForClauseContext optionForClause() throws RecognitionException {
43298 OptionForClauseContext _localctx = new OptionForClauseContext(_ctx, getState());
43299 enterRule(_localctx, 844, RULE_optionForClause);
43300 try {
43301 enterOuterAlt(_localctx, 1);
43302 {
43303 setState(6001);
43304 match(GRANT);
43305 setState(6002);
43306 match(OPTION);
43307 setState(6003);
43308 match(FOR);
43309 }
43310 }
43311 catch (RecognitionException re) {
43312 _localctx.exception = re;
43313 _errHandler.reportError(this, re);
43314 _errHandler.recover(this, re);
43315 }
43316 finally {
43317 exitRule();
43318 }
43319 return _localctx;
43320 }
43321
43322 public static class PrivilegeTypeContext extends ParserRuleContext {
43323 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
43324 public TerminalNode PRIVILEGES() { return getToken(SQLServerStatementParser.PRIVILEGES, 0); }
43325 public AssemblyPermissionContext assemblyPermission() {
43326 return getRuleContext(AssemblyPermissionContext.class,0);
43327 }
43328 public AsymmetricKeyPermissionContext asymmetricKeyPermission() {
43329 return getRuleContext(AsymmetricKeyPermissionContext.class,0);
43330 }
43331 public AvailabilityGroupPermissionContext availabilityGroupPermission() {
43332 return getRuleContext(AvailabilityGroupPermissionContext.class,0);
43333 }
43334 public CertificatePermissionContext certificatePermission() {
43335 return getRuleContext(CertificatePermissionContext.class,0);
43336 }
43337 public ObjectPermissionContext objectPermission() {
43338 return getRuleContext(ObjectPermissionContext.class,0);
43339 }
43340 public SystemObjectPermissionContext systemObjectPermission() {
43341 return getRuleContext(SystemObjectPermissionContext.class,0);
43342 }
43343 public DatabasePermissionContext databasePermission() {
43344 return getRuleContext(DatabasePermissionContext.class,0);
43345 }
43346 public DatabasePrincipalPermissionContext databasePrincipalPermission() {
43347 return getRuleContext(DatabasePrincipalPermissionContext.class,0);
43348 }
43349 public DatabaseScopedCredentialPermissionContext databaseScopedCredentialPermission() {
43350 return getRuleContext(DatabaseScopedCredentialPermissionContext.class,0);
43351 }
43352 public EndpointPermissionContext endpointPermission() {
43353 return getRuleContext(EndpointPermissionContext.class,0);
43354 }
43355 public FullTextPermissionContext fullTextPermission() {
43356 return getRuleContext(FullTextPermissionContext.class,0);
43357 }
43358 public SchemaPermissionContext schemaPermission() {
43359 return getRuleContext(SchemaPermissionContext.class,0);
43360 }
43361 public SearchPropertyListPermissionContext searchPropertyListPermission() {
43362 return getRuleContext(SearchPropertyListPermissionContext.class,0);
43363 }
43364 public ServerPermissionContext serverPermission() {
43365 return getRuleContext(ServerPermissionContext.class,0);
43366 }
43367 public ServerPrincipalPermissionContext serverPrincipalPermission() {
43368 return getRuleContext(ServerPrincipalPermissionContext.class,0);
43369 }
43370 public ServiceBrokerPermissionContext serviceBrokerPermission() {
43371 return getRuleContext(ServiceBrokerPermissionContext.class,0);
43372 }
43373 public SymmetricKeyPermissionContext symmetricKeyPermission() {
43374 return getRuleContext(SymmetricKeyPermissionContext.class,0);
43375 }
43376 public TypePermissionContext typePermission() {
43377 return getRuleContext(TypePermissionContext.class,0);
43378 }
43379 public XmlSchemaCollectionPermissionContext xmlSchemaCollectionPermission() {
43380 return getRuleContext(XmlSchemaCollectionPermissionContext.class,0);
43381 }
43382 public PrivilegeTypeContext(ParserRuleContext parent, int invokingState) {
43383 super(parent, invokingState);
43384 }
43385 @Override public int getRuleIndex() { return RULE_privilegeType; }
43386 @Override
43387 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43388 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrivilegeType(this);
43389 else return visitor.visitChildren(this);
43390 }
43391 }
43392
43393 public final PrivilegeTypeContext privilegeType() throws RecognitionException {
43394 PrivilegeTypeContext _localctx = new PrivilegeTypeContext(_ctx, getState());
43395 enterRule(_localctx, 846, RULE_privilegeType);
43396 int _la;
43397 try {
43398 setState(6028);
43399 _errHandler.sync(this);
43400 switch ( getInterpreter().adaptivePredict(_input,710,_ctx) ) {
43401 case 1:
43402 enterOuterAlt(_localctx, 1);
43403 {
43404 setState(6005);
43405 match(ALL);
43406 setState(6007);
43407 _errHandler.sync(this);
43408 _la = _input.LA(1);
43409 if (_la==PRIVILEGES) {
43410 {
43411 setState(6006);
43412 match(PRIVILEGES);
43413 }
43414 }
43415
43416 }
43417 break;
43418 case 2:
43419 enterOuterAlt(_localctx, 2);
43420 {
43421 setState(6009);
43422 assemblyPermission();
43423 }
43424 break;
43425 case 3:
43426 enterOuterAlt(_localctx, 3);
43427 {
43428 setState(6010);
43429 asymmetricKeyPermission();
43430 }
43431 break;
43432 case 4:
43433 enterOuterAlt(_localctx, 4);
43434 {
43435 setState(6011);
43436 availabilityGroupPermission();
43437 }
43438 break;
43439 case 5:
43440 enterOuterAlt(_localctx, 5);
43441 {
43442 setState(6012);
43443 certificatePermission();
43444 }
43445 break;
43446 case 6:
43447 enterOuterAlt(_localctx, 6);
43448 {
43449 setState(6013);
43450 objectPermission();
43451 }
43452 break;
43453 case 7:
43454 enterOuterAlt(_localctx, 7);
43455 {
43456 setState(6014);
43457 systemObjectPermission();
43458 }
43459 break;
43460 case 8:
43461 enterOuterAlt(_localctx, 8);
43462 {
43463 setState(6015);
43464 databasePermission();
43465 }
43466 break;
43467 case 9:
43468 enterOuterAlt(_localctx, 9);
43469 {
43470 setState(6016);
43471 databasePrincipalPermission();
43472 }
43473 break;
43474 case 10:
43475 enterOuterAlt(_localctx, 10);
43476 {
43477 setState(6017);
43478 databaseScopedCredentialPermission();
43479 }
43480 break;
43481 case 11:
43482 enterOuterAlt(_localctx, 11);
43483 {
43484 setState(6018);
43485 endpointPermission();
43486 }
43487 break;
43488 case 12:
43489 enterOuterAlt(_localctx, 12);
43490 {
43491 setState(6019);
43492 fullTextPermission();
43493 }
43494 break;
43495 case 13:
43496 enterOuterAlt(_localctx, 13);
43497 {
43498 setState(6020);
43499 schemaPermission();
43500 }
43501 break;
43502 case 14:
43503 enterOuterAlt(_localctx, 14);
43504 {
43505 setState(6021);
43506 searchPropertyListPermission();
43507 }
43508 break;
43509 case 15:
43510 enterOuterAlt(_localctx, 15);
43511 {
43512 setState(6022);
43513 serverPermission();
43514 }
43515 break;
43516 case 16:
43517 enterOuterAlt(_localctx, 16);
43518 {
43519 setState(6023);
43520 serverPrincipalPermission();
43521 }
43522 break;
43523 case 17:
43524 enterOuterAlt(_localctx, 17);
43525 {
43526 setState(6024);
43527 serviceBrokerPermission();
43528 }
43529 break;
43530 case 18:
43531 enterOuterAlt(_localctx, 18);
43532 {
43533 setState(6025);
43534 symmetricKeyPermission();
43535 }
43536 break;
43537 case 19:
43538 enterOuterAlt(_localctx, 19);
43539 {
43540 setState(6026);
43541 typePermission();
43542 }
43543 break;
43544 case 20:
43545 enterOuterAlt(_localctx, 20);
43546 {
43547 setState(6027);
43548 xmlSchemaCollectionPermission();
43549 }
43550 break;
43551 }
43552 }
43553 catch (RecognitionException re) {
43554 _localctx.exception = re;
43555 _errHandler.reportError(this, re);
43556 _errHandler.recover(this, re);
43557 }
43558 finally {
43559 exitRule();
43560 }
43561 return _localctx;
43562 }
43563
43564 public static class ObjectPermissionContext extends ParserRuleContext {
43565 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43566 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43567 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
43568 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
43569 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
43570 public TerminalNode RECEIVE() { return getToken(SQLServerStatementParser.RECEIVE, 0); }
43571 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
43572 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
43573 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
43574 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
43575 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
43576 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43577 public TerminalNode CHANGE() { return getToken(SQLServerStatementParser.CHANGE, 0); }
43578 public TerminalNode TRACKING() { return getToken(SQLServerStatementParser.TRACKING, 0); }
43579 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43580 public ObjectPermissionContext(ParserRuleContext parent, int invokingState) {
43581 super(parent, invokingState);
43582 }
43583 @Override public int getRuleIndex() { return RULE_objectPermission; }
43584 @Override
43585 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43586 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitObjectPermission(this);
43587 else return visitor.visitChildren(this);
43588 }
43589 }
43590
43591 public final ObjectPermissionContext objectPermission() throws RecognitionException {
43592 ObjectPermissionContext _localctx = new ObjectPermissionContext(_ctx, getState());
43593 enterRule(_localctx, 848, RULE_objectPermission);
43594 try {
43595 setState(6046);
43596 _errHandler.sync(this);
43597 switch ( getInterpreter().adaptivePredict(_input,711,_ctx) ) {
43598 case 1:
43599 enterOuterAlt(_localctx, 1);
43600 {
43601 setState(6030);
43602 match(ALTER);
43603 }
43604 break;
43605 case 2:
43606 enterOuterAlt(_localctx, 2);
43607 {
43608 setState(6031);
43609 match(CONTROL);
43610 }
43611 break;
43612 case 3:
43613 enterOuterAlt(_localctx, 3);
43614 {
43615 setState(6032);
43616 match(DELETE);
43617 }
43618 break;
43619 case 4:
43620 enterOuterAlt(_localctx, 4);
43621 {
43622 setState(6033);
43623 match(EXECUTE);
43624 }
43625 break;
43626 case 5:
43627 enterOuterAlt(_localctx, 5);
43628 {
43629 setState(6034);
43630 match(INSERT);
43631 }
43632 break;
43633 case 6:
43634 enterOuterAlt(_localctx, 6);
43635 {
43636 setState(6035);
43637 match(RECEIVE);
43638 }
43639 break;
43640 case 7:
43641 enterOuterAlt(_localctx, 7);
43642 {
43643 setState(6036);
43644 match(REFERENCES);
43645 }
43646 break;
43647 case 8:
43648 enterOuterAlt(_localctx, 8);
43649 {
43650 setState(6037);
43651 match(SELECT);
43652 }
43653 break;
43654 case 9:
43655 enterOuterAlt(_localctx, 9);
43656 {
43657 setState(6038);
43658 match(TAKE);
43659 setState(6039);
43660 match(OWNERSHIP);
43661 }
43662 break;
43663 case 10:
43664 enterOuterAlt(_localctx, 10);
43665 {
43666 setState(6040);
43667 match(UPDATE);
43668 }
43669 break;
43670 case 11:
43671 enterOuterAlt(_localctx, 11);
43672 {
43673 setState(6041);
43674 match(VIEW);
43675 setState(6042);
43676 match(CHANGE);
43677 setState(6043);
43678 match(TRACKING);
43679 }
43680 break;
43681 case 12:
43682 enterOuterAlt(_localctx, 12);
43683 {
43684 setState(6044);
43685 match(VIEW);
43686 setState(6045);
43687 match(DEFINITION);
43688 }
43689 break;
43690 }
43691 }
43692 catch (RecognitionException re) {
43693 _localctx.exception = re;
43694 _errHandler.reportError(this, re);
43695 _errHandler.recover(this, re);
43696 }
43697 finally {
43698 exitRule();
43699 }
43700 return _localctx;
43701 }
43702
43703 public static class ServerPermissionContext extends ParserRuleContext {
43704 public TerminalNode ADMINISTER() { return getToken(SQLServerStatementParser.ADMINISTER, 0); }
43705 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
43706 public TerminalNode OPERATIONS() { return getToken(SQLServerStatementParser.OPERATIONS, 0); }
43707 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43708 public TerminalNode RESOURCES() { return getToken(SQLServerStatementParser.RESOURCES, 0); }
43709 public TerminalNode SETTINGS() { return getToken(SQLServerStatementParser.SETTINGS, 0); }
43710 public TerminalNode TRACE() { return getToken(SQLServerStatementParser.TRACE, 0); }
43711 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
43712 public TerminalNode STATE() { return getToken(SQLServerStatementParser.STATE, 0); }
43713 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
43714 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
43715 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
43716 public TerminalNode CONNECTION() { return getToken(SQLServerStatementParser.CONNECTION, 0); }
43717 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
43718 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
43719 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
43720 public TerminalNode EVENT() { return getToken(SQLServerStatementParser.EVENT, 0); }
43721 public TerminalNode NOTIFICATION() { return getToken(SQLServerStatementParser.NOTIFICATION, 0); }
43722 public TerminalNode SESSION() { return getToken(SQLServerStatementParser.SESSION, 0); }
43723 public TerminalNode LINKED() { return getToken(SQLServerStatementParser.LINKED, 0); }
43724 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
43725 public TerminalNode AUDIT() { return getToken(SQLServerStatementParser.AUDIT, 0); }
43726 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
43727 public TerminalNode AUTHENTICATE() { return getToken(SQLServerStatementParser.AUTHENTICATE, 0); }
43728 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
43729 public TerminalNode SQL() { return getToken(SQLServerStatementParser.SQL, 0); }
43730 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43731 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
43732 public TerminalNode DDL() { return getToken(SQLServerStatementParser.DDL, 0); }
43733 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
43734 public TerminalNode ACCESS() { return getToken(SQLServerStatementParser.ACCESS, 0); }
43735 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
43736 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
43737 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
43738 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
43739 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
43740 public TerminalNode SECURABLES() { return getToken(SQLServerStatementParser.SECURABLES, 0); }
43741 public TerminalNode SHUTDOWN() { return getToken(SQLServerStatementParser.SHUTDOWN, 0); }
43742 public TerminalNode UNSAFE() { return getToken(SQLServerStatementParser.UNSAFE, 0); }
43743 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43744 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43745 public ServerPermissionContext(ParserRuleContext parent, int invokingState) {
43746 super(parent, invokingState);
43747 }
43748 @Override public int getRuleIndex() { return RULE_serverPermission; }
43749 @Override
43750 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43751 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServerPermission(this);
43752 else return visitor.visitChildren(this);
43753 }
43754 }
43755
43756 public final ServerPermissionContext serverPermission() throws RecognitionException {
43757 ServerPermissionContext _localctx = new ServerPermissionContext(_ctx, getState());
43758 enterRule(_localctx, 850, RULE_serverPermission);
43759 int _la;
43760 try {
43761 setState(6125);
43762 _errHandler.sync(this);
43763 switch ( getInterpreter().adaptivePredict(_input,715,_ctx) ) {
43764 case 1:
43765 enterOuterAlt(_localctx, 1);
43766 {
43767 setState(6048);
43768 match(ADMINISTER);
43769 setState(6049);
43770 match(BULK);
43771 setState(6050);
43772 match(OPERATIONS);
43773 }
43774 break;
43775 case 2:
43776 enterOuterAlt(_localctx, 2);
43777 {
43778 setState(6051);
43779 match(ALTER);
43780 setState(6057);
43781 _errHandler.sync(this);
43782 switch (_input.LA(1)) {
43783 case RESOURCES:
43784 {
43785 setState(6052);
43786 match(RESOURCES);
43787 }
43788 break;
43789 case SETTINGS:
43790 {
43791 setState(6053);
43792 match(SETTINGS);
43793 }
43794 break;
43795 case TRACE:
43796 {
43797 setState(6054);
43798 match(TRACE);
43799 }
43800 break;
43801 case SERVER:
43802 {
43803 setState(6055);
43804 match(SERVER);
43805 setState(6056);
43806 match(STATE);
43807 }
43808 break;
43809 default:
43810 throw new NoViableAltException(this);
43811 }
43812 }
43813 break;
43814 case 3:
43815 enterOuterAlt(_localctx, 3);
43816 {
43817 setState(6059);
43818 match(ALTER);
43819 setState(6060);
43820 match(ANY);
43821 setState(6078);
43822 _errHandler.sync(this);
43823 switch ( getInterpreter().adaptivePredict(_input,713,_ctx) ) {
43824 case 1:
43825 {
43826 setState(6061);
43827 match(AVAILABILITY);
43828 setState(6062);
43829 match(GROUP);
43830 }
43831 break;
43832 case 2:
43833 {
43834 setState(6063);
43835 match(CONNECTION);
43836 }
43837 break;
43838 case 3:
43839 {
43840 setState(6064);
43841 match(CREDENTIAL);
43842 }
43843 break;
43844 case 4:
43845 {
43846 setState(6065);
43847 match(DATABASE);
43848 }
43849 break;
43850 case 5:
43851 {
43852 setState(6066);
43853 match(ENDPOINT);
43854 }
43855 break;
43856 case 6:
43857 {
43858 setState(6067);
43859 match(EVENT);
43860 setState(6068);
43861 match(NOTIFICATION);
43862 }
43863 break;
43864 case 7:
43865 {
43866 setState(6069);
43867 match(EVENT);
43868 setState(6070);
43869 match(SESSION);
43870 }
43871 break;
43872 case 8:
43873 {
43874 setState(6071);
43875 match(LINKED);
43876 setState(6072);
43877 match(SERVER);
43878 }
43879 break;
43880 case 9:
43881 {
43882 setState(6073);
43883 match(LOGIN);
43884 }
43885 break;
43886 case 10:
43887 {
43888 setState(6074);
43889 match(SERVER);
43890 setState(6075);
43891 match(AUDIT);
43892 }
43893 break;
43894 case 11:
43895 {
43896 setState(6076);
43897 match(SERVER);
43898 setState(6077);
43899 match(ROLE);
43900 }
43901 break;
43902 }
43903 }
43904 break;
43905 case 4:
43906 enterOuterAlt(_localctx, 4);
43907 {
43908 setState(6080);
43909 match(AUTHENTICATE);
43910 setState(6081);
43911 match(SERVER);
43912 }
43913 break;
43914 case 5:
43915 enterOuterAlt(_localctx, 5);
43916 {
43917 setState(6082);
43918 match(CONNECT);
43919 setState(6083);
43920 match(ANY);
43921 setState(6084);
43922 match(DATABASE);
43923 }
43924 break;
43925 case 6:
43926 enterOuterAlt(_localctx, 6);
43927 {
43928 setState(6085);
43929 match(CONNECT);
43930 setState(6086);
43931 match(SQL);
43932 }
43933 break;
43934 case 7:
43935 enterOuterAlt(_localctx, 7);
43936 {
43937 setState(6087);
43938 match(CONTROL);
43939 setState(6088);
43940 match(SERVER);
43941 }
43942 break;
43943 case 8:
43944 enterOuterAlt(_localctx, 8);
43945 {
43946 setState(6089);
43947 match(CREATE);
43948 setState(6090);
43949 match(ANY);
43950 setState(6091);
43951 match(DATABASE);
43952 }
43953 break;
43954 case 9:
43955 enterOuterAlt(_localctx, 9);
43956 {
43957 setState(6092);
43958 match(CREATE);
43959 setState(6104);
43960 _errHandler.sync(this);
43961 switch (_input.LA(1)) {
43962 case AVAILABILITY:
43963 {
43964 setState(6093);
43965 match(AVAILABILITY);
43966 setState(6094);
43967 match(GROUP);
43968 }
43969 break;
43970 case DDL:
43971 {
43972 setState(6095);
43973 match(DDL);
43974 setState(6096);
43975 match(EVENT);
43976 setState(6097);
43977 match(NOTIFICATION);
43978 }
43979 break;
43980 case ENDPOINT:
43981 {
43982 setState(6098);
43983 match(ENDPOINT);
43984 }
43985 break;
43986 case SERVER:
43987 {
43988 setState(6099);
43989 match(SERVER);
43990 setState(6100);
43991 match(ROLE);
43992 }
43993 break;
43994 case TRACE:
43995 {
43996 setState(6101);
43997 match(TRACE);
43998 setState(6102);
43999 match(EVENT);
44000 setState(6103);
44001 match(NOTIFICATION);
44002 }
44003 break;
44004 default:
44005 throw new NoViableAltException(this);
44006 }
44007 }
44008 break;
44009 case 10:
44010 enterOuterAlt(_localctx, 10);
44011 {
44012 setState(6106);
44013 match(EXTERNAL);
44014 setState(6107);
44015 match(ACCESS);
44016 setState(6108);
44017 match(ASSEMBLY);
44018 }
44019 break;
44020 case 11:
44021 enterOuterAlt(_localctx, 11);
44022 {
44023 setState(6109);
44024 match(IMPERSONATE);
44025 setState(6110);
44026 match(ANY);
44027 setState(6111);
44028 match(LOGIN);
44029 }
44030 break;
44031 case 12:
44032 enterOuterAlt(_localctx, 12);
44033 {
44034 setState(6112);
44035 match(SELECT);
44036 setState(6113);
44037 match(ALL);
44038 setState(6114);
44039 match(USER);
44040 setState(6115);
44041 match(SECURABLES);
44042 }
44043 break;
44044 case 13:
44045 enterOuterAlt(_localctx, 13);
44046 {
44047 setState(6116);
44048 match(SHUTDOWN);
44049 }
44050 break;
44051 case 14:
44052 enterOuterAlt(_localctx, 14);
44053 {
44054 setState(6117);
44055 match(UNSAFE);
44056 setState(6118);
44057 match(ASSEMBLY);
44058 }
44059 break;
44060 case 15:
44061 enterOuterAlt(_localctx, 15);
44062 {
44063 setState(6119);
44064 match(VIEW);
44065 setState(6120);
44066 match(ANY);
44067 setState(6121);
44068 _la = _input.LA(1);
44069 if ( !(_la==DATABASE || _la==DEFINITION) ) {
44070 _errHandler.recoverInline(this);
44071 }
44072 else {
44073 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
44074 _errHandler.reportMatch(this);
44075 consume();
44076 }
44077 }
44078 break;
44079 case 16:
44080 enterOuterAlt(_localctx, 16);
44081 {
44082 setState(6122);
44083 match(VIEW);
44084 setState(6123);
44085 match(SERVER);
44086 setState(6124);
44087 match(STATE);
44088 }
44089 break;
44090 }
44091 }
44092 catch (RecognitionException re) {
44093 _localctx.exception = re;
44094 _errHandler.reportError(this, re);
44095 _errHandler.recover(this, re);
44096 }
44097 finally {
44098 exitRule();
44099 }
44100 return _localctx;
44101 }
44102
44103 public static class ServerPrincipalPermissionContext extends ParserRuleContext {
44104 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44105 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
44106 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
44107 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44108 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44109 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44110 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44111 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
44112 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
44113 public ServerPrincipalPermissionContext(ParserRuleContext parent, int invokingState) {
44114 super(parent, invokingState);
44115 }
44116 @Override public int getRuleIndex() { return RULE_serverPrincipalPermission; }
44117 @Override
44118 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44119 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServerPrincipalPermission(this);
44120 else return visitor.visitChildren(this);
44121 }
44122 }
44123
44124 public final ServerPrincipalPermissionContext serverPrincipalPermission() throws RecognitionException {
44125 ServerPrincipalPermissionContext _localctx = new ServerPrincipalPermissionContext(_ctx, getState());
44126 enterRule(_localctx, 852, RULE_serverPrincipalPermission);
44127 int _la;
44128 try {
44129 setState(6145);
44130 _errHandler.sync(this);
44131 switch ( getInterpreter().adaptivePredict(_input,719,_ctx) ) {
44132 case 1:
44133 enterOuterAlt(_localctx, 1);
44134 {
44135 setState(6127);
44136 match(CONTROL);
44137 setState(6129);
44138 _errHandler.sync(this);
44139 _la = _input.LA(1);
44140 if (_la==SERVER) {
44141 {
44142 setState(6128);
44143 match(SERVER);
44144 }
44145 }
44146
44147 }
44148 break;
44149 case 2:
44150 enterOuterAlt(_localctx, 2);
44151 {
44152 setState(6131);
44153 match(IMPERSONATE);
44154 }
44155 break;
44156 case 3:
44157 enterOuterAlt(_localctx, 3);
44158 {
44159 setState(6132);
44160 match(VIEW);
44161 setState(6134);
44162 _errHandler.sync(this);
44163 _la = _input.LA(1);
44164 if (_la==ANY) {
44165 {
44166 setState(6133);
44167 match(ANY);
44168 }
44169 }
44170
44171 setState(6136);
44172 match(DEFINITION);
44173 }
44174 break;
44175 case 4:
44176 enterOuterAlt(_localctx, 4);
44177 {
44178 setState(6137);
44179 match(ALTER);
44180 }
44181 break;
44182 case 5:
44183 enterOuterAlt(_localctx, 5);
44184 {
44185 setState(6138);
44186 match(ALTER);
44187 setState(6139);
44188 match(ANY);
44189 setState(6143);
44190 _errHandler.sync(this);
44191 switch (_input.LA(1)) {
44192 case LOGIN:
44193 {
44194 setState(6140);
44195 match(LOGIN);
44196 }
44197 break;
44198 case SERVER:
44199 {
44200 setState(6141);
44201 match(SERVER);
44202 setState(6142);
44203 match(ROLE);
44204 }
44205 break;
44206 default:
44207 throw new NoViableAltException(this);
44208 }
44209 }
44210 break;
44211 }
44212 }
44213 catch (RecognitionException re) {
44214 _localctx.exception = re;
44215 _errHandler.reportError(this, re);
44216 _errHandler.recover(this, re);
44217 }
44218 finally {
44219 exitRule();
44220 }
44221 return _localctx;
44222 }
44223
44224 public static class DatabasePermissionContext extends ParserRuleContext {
44225 public TerminalNode ADMINISTER() { return getToken(SQLServerStatementParser.ADMINISTER, 0); }
44226 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
44227 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
44228 public TerminalNode OPERATIONS() { return getToken(SQLServerStatementParser.OPERATIONS, 0); }
44229 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44230 public TerminalNode TRACE() { return getToken(SQLServerStatementParser.TRACE, 0); }
44231 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44232 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
44233 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
44234 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
44235 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
44236 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
44237 public TerminalNode CONNECTION() { return getToken(SQLServerStatementParser.CONNECTION, 0); }
44238 public TerminalNode COLUMN() { return getToken(SQLServerStatementParser.COLUMN, 0); }
44239 public TerminalNode MASTER() { return getToken(SQLServerStatementParser.MASTER, 0); }
44240 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44241 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
44242 public TerminalNode DATASPACE() { return getToken(SQLServerStatementParser.DATASPACE, 0); }
44243 public TerminalNode EVENT() { return getToken(SQLServerStatementParser.EVENT, 0); }
44244 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
44245 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
44246 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
44247 public TerminalNode MASK() { return getToken(SQLServerStatementParser.MASK, 0); }
44248 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
44249 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
44250 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
44251 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
44252 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
44253 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
44254 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
44255 public TerminalNode AUDIT() { return getToken(SQLServerStatementParser.AUDIT, 0); }
44256 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
44257 public TerminalNode SECURITY() { return getToken(SQLServerStatementParser.SECURITY, 0); }
44258 public TerminalNode POLICY() { return getToken(SQLServerStatementParser.POLICY, 0); }
44259 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
44260 public TerminalNode NOTIFICATION() { return getToken(SQLServerStatementParser.NOTIFICATION, 0); }
44261 public TerminalNode SESSION() { return getToken(SQLServerStatementParser.SESSION, 0); }
44262 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
44263 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
44264 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
44265 public TerminalNode DATA() { return getToken(SQLServerStatementParser.DATA, 0); }
44266 public TerminalNode SOURCE() { return getToken(SQLServerStatementParser.SOURCE, 0); }
44267 public TerminalNode FILE() { return getToken(SQLServerStatementParser.FILE, 0); }
44268 public TerminalNode FORMAT() { return getToken(SQLServerStatementParser.FORMAT, 0); }
44269 public TerminalNode LIBRARY() { return getToken(SQLServerStatementParser.LIBRARY, 0); }
44270 public TerminalNode DDL() { return getToken(SQLServerStatementParser.DDL, 0); }
44271 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
44272 public TerminalNode SCOPED() { return getToken(SQLServerStatementParser.SCOPED, 0); }
44273 public TerminalNode CONFIGURATION() { return getToken(SQLServerStatementParser.CONFIGURATION, 0); }
44274 public TerminalNode AUTHENTICATE() { return getToken(SQLServerStatementParser.AUTHENTICATE, 0); }
44275 public TerminalNode BACKUP() { return getToken(SQLServerStatementParser.BACKUP, 0); }
44276 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
44277 public TerminalNode CHECKPOINT() { return getToken(SQLServerStatementParser.CHECKPOINT, 0); }
44278 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
44279 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
44280 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44281 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
44282 public TerminalNode AGGREGATE() { return getToken(SQLServerStatementParser.AGGREGATE, 0); }
44283 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
44284 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
44285 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
44286 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
44287 public TerminalNode RULE() { return getToken(SQLServerStatementParser.RULE, 0); }
44288 public TerminalNode SYNONYM() { return getToken(SQLServerStatementParser.SYNONYM, 0); }
44289 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
44290 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44291 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
44292 public TerminalNode COLLECTION() { return getToken(SQLServerStatementParser.COLLECTION, 0); }
44293 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
44294 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
44295 public TerminalNode SCRIPT() { return getToken(SQLServerStatementParser.SCRIPT, 0); }
44296 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
44297 public TerminalNode KILL() { return getToken(SQLServerStatementParser.KILL, 0); }
44298 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
44299 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
44300 public TerminalNode SHOWPLAN() { return getToken(SQLServerStatementParser.SHOWPLAN, 0); }
44301 public TerminalNode SUBSCRIBE() { return getToken(SQLServerStatementParser.SUBSCRIBE, 0); }
44302 public TerminalNode QUERY() { return getToken(SQLServerStatementParser.QUERY, 0); }
44303 public TerminalNode NOTIFICATIONS() { return getToken(SQLServerStatementParser.NOTIFICATIONS, 0); }
44304 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44305 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44306 public TerminalNode UNMASK() { return getToken(SQLServerStatementParser.UNMASK, 0); }
44307 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
44308 public TerminalNode STATE() { return getToken(SQLServerStatementParser.STATE, 0); }
44309 public DatabasePermissionContext(ParserRuleContext parent, int invokingState) {
44310 super(parent, invokingState);
44311 }
44312 @Override public int getRuleIndex() { return RULE_databasePermission; }
44313 @Override
44314 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44315 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabasePermission(this);
44316 else return visitor.visitChildren(this);
44317 }
44318 }
44319
44320 public final DatabasePermissionContext databasePermission() throws RecognitionException {
44321 DatabasePermissionContext _localctx = new DatabasePermissionContext(_ctx, getState());
44322 enterRule(_localctx, 854, RULE_databasePermission);
44323 int _la;
44324 try {
44325 setState(6314);
44326 _errHandler.sync(this);
44327 switch ( getInterpreter().adaptivePredict(_input,732,_ctx) ) {
44328 case 1:
44329 enterOuterAlt(_localctx, 1);
44330 {
44331 setState(6147);
44332 match(ADMINISTER);
44333 setState(6148);
44334 match(DATABASE);
44335 setState(6149);
44336 match(BULK);
44337 setState(6150);
44338 match(OPERATIONS);
44339 }
44340 break;
44341 case 2:
44342 enterOuterAlt(_localctx, 2);
44343 {
44344 setState(6151);
44345 match(ALTER);
44346 }
44347 break;
44348 case 3:
44349 enterOuterAlt(_localctx, 3);
44350 {
44351 setState(6152);
44352 match(ALTER);
44353 setState(6153);
44354 match(TRACE);
44355 }
44356 break;
44357 case 4:
44358 enterOuterAlt(_localctx, 4);
44359 {
44360 setState(6154);
44361 match(ALTER);
44362 setState(6155);
44363 match(ANY);
44364 setState(6213);
44365 _errHandler.sync(this);
44366 switch ( getInterpreter().adaptivePredict(_input,723,_ctx) ) {
44367 case 1:
44368 {
44369 setState(6156);
44370 match(APPLICATION);
44371 setState(6157);
44372 match(ROLE);
44373 }
44374 break;
44375 case 2:
44376 {
44377 setState(6158);
44378 match(ASSEMBLY);
44379 }
44380 break;
44381 case 3:
44382 {
44383 setState(6163);
44384 _errHandler.sync(this);
44385 switch (_input.LA(1)) {
44386 case SYMMETRIC:
44387 {
44388 setState(6159);
44389 match(SYMMETRIC);
44390 }
44391 break;
44392 case ASYMMETRIC:
44393 {
44394 setState(6160);
44395 match(ASYMMETRIC);
44396 }
44397 break;
44398 case COLUMN:
44399 {
44400 setState(6161);
44401 match(COLUMN);
44402 setState(6162);
44403 match(ENCRYPTION);
44404 }
44405 break;
44406 default:
44407 throw new NoViableAltException(this);
44408 }
44409 setState(6165);
44410 match(KEY);
44411 }
44412 break;
44413 case 4:
44414 {
44415 setState(6166);
44416 match(CERTIFICATE);
44417 }
44418 break;
44419 case 5:
44420 {
44421 setState(6167);
44422 match(CONNECTION);
44423 }
44424 break;
44425 case 6:
44426 {
44427 setState(6168);
44428 match(COLUMN);
44429 setState(6169);
44430 match(MASTER);
44431 setState(6170);
44432 match(KEY);
44433 setState(6171);
44434 match(DEFINITION);
44435 }
44436 break;
44437 case 7:
44438 {
44439 setState(6172);
44440 match(CONTRACT);
44441 }
44442 break;
44443 case 8:
44444 {
44445 setState(6173);
44446 match(DATABASE);
44447 setState(6183);
44448 _errHandler.sync(this);
44449 switch ( getInterpreter().adaptivePredict(_input,721,_ctx) ) {
44450 case 1:
44451 {
44452 setState(6174);
44453 match(AUDIT);
44454 }
44455 break;
44456 case 2:
44457 {
44458 setState(6175);
44459 match(DDL);
44460 setState(6176);
44461 match(TRIGGER);
44462 }
44463 break;
44464 case 3:
44465 {
44466 setState(6177);
44467 match(EVENT);
44468 setState(6178);
44469 match(NOTIFICATION);
44470 }
44471 break;
44472 case 4:
44473 {
44474 setState(6179);
44475 match(EVENT);
44476 setState(6180);
44477 match(SESSION);
44478 }
44479 break;
44480 case 5:
44481 {
44482 setState(6181);
44483 match(SCOPED);
44484 setState(6182);
44485 match(CONFIGURATION);
44486 }
44487 break;
44488 }
44489 }
44490 break;
44491 case 9:
44492 {
44493 setState(6185);
44494 match(DATASPACE);
44495 }
44496 break;
44497 case 10:
44498 {
44499 setState(6186);
44500 match(EVENT);
44501 setState(6187);
44502 _la = _input.LA(1);
44503 if ( !(_la==SESSION || _la==NOTIFICATION) ) {
44504 _errHandler.recoverInline(this);
44505 }
44506 else {
44507 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
44508 _errHandler.reportMatch(this);
44509 consume();
44510 }
44511 }
44512 break;
44513 case 11:
44514 {
44515 setState(6188);
44516 match(EXTERNAL);
44517 setState(6194);
44518 _errHandler.sync(this);
44519 switch (_input.LA(1)) {
44520 case DATA:
44521 {
44522 setState(6189);
44523 match(DATA);
44524 setState(6190);
44525 match(SOURCE);
44526 }
44527 break;
44528 case FILE:
44529 {
44530 setState(6191);
44531 match(FILE);
44532 setState(6192);
44533 match(FORMAT);
44534 }
44535 break;
44536 case LIBRARY:
44537 {
44538 setState(6193);
44539 match(LIBRARY);
44540 }
44541 break;
44542 default:
44543 throw new NoViableAltException(this);
44544 }
44545 }
44546 break;
44547 case 12:
44548 {
44549 setState(6196);
44550 match(FULLTEXT);
44551 setState(6197);
44552 match(CATALOG);
44553 }
44554 break;
44555 case 13:
44556 {
44557 setState(6198);
44558 match(MASK);
44559 }
44560 break;
44561 case 14:
44562 {
44563 setState(6199);
44564 match(MESSAGE);
44565 setState(6200);
44566 match(TYPE);
44567 }
44568 break;
44569 case 15:
44570 {
44571 setState(6201);
44572 match(REMOTE);
44573 setState(6202);
44574 match(SERVICE);
44575 setState(6203);
44576 match(BINDING);
44577 }
44578 break;
44579 case 16:
44580 {
44581 setState(6204);
44582 match(ROLE);
44583 }
44584 break;
44585 case 17:
44586 {
44587 setState(6205);
44588 match(ROUTE);
44589 }
44590 break;
44591 case 18:
44592 {
44593 setState(6206);
44594 match(SERVER);
44595 setState(6207);
44596 match(AUDIT);
44597 }
44598 break;
44599 case 19:
44600 {
44601 setState(6208);
44602 match(SCHEMA);
44603 }
44604 break;
44605 case 20:
44606 {
44607 setState(6209);
44608 match(SECURITY);
44609 setState(6210);
44610 match(POLICY);
44611 }
44612 break;
44613 case 21:
44614 {
44615 setState(6211);
44616 match(SERVICE);
44617 }
44618 break;
44619 case 22:
44620 {
44621 setState(6212);
44622 match(USER);
44623 }
44624 break;
44625 }
44626 }
44627 break;
44628 case 5:
44629 enterOuterAlt(_localctx, 5);
44630 {
44631 setState(6215);
44632 match(AUTHENTICATE);
44633 setState(6217);
44634 _errHandler.sync(this);
44635 _la = _input.LA(1);
44636 if (_la==SERVER) {
44637 {
44638 setState(6216);
44639 match(SERVER);
44640 }
44641 }
44642
44643 }
44644 break;
44645 case 6:
44646 enterOuterAlt(_localctx, 6);
44647 {
44648 setState(6219);
44649 match(BACKUP);
44650 setState(6220);
44651 _la = _input.LA(1);
44652 if ( !(_la==DATABASE || _la==LOG) ) {
44653 _errHandler.recoverInline(this);
44654 }
44655 else {
44656 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
44657 _errHandler.reportMatch(this);
44658 consume();
44659 }
44660 }
44661 break;
44662 case 7:
44663 enterOuterAlt(_localctx, 7);
44664 {
44665 setState(6221);
44666 match(CHECKPOINT);
44667 }
44668 break;
44669 case 8:
44670 enterOuterAlt(_localctx, 8);
44671 {
44672 setState(6222);
44673 match(CONNECT);
44674 }
44675 break;
44676 case 9:
44677 enterOuterAlt(_localctx, 9);
44678 {
44679 setState(6223);
44680 match(CONNECT);
44681 setState(6225);
44682 _errHandler.sync(this);
44683 _la = _input.LA(1);
44684 if (_la==REPLICATION) {
44685 {
44686 setState(6224);
44687 match(REPLICATION);
44688 }
44689 }
44690
44691 }
44692 break;
44693 case 10:
44694 enterOuterAlt(_localctx, 10);
44695 {
44696 setState(6227);
44697 match(CONTROL);
44698 setState(6229);
44699 _errHandler.sync(this);
44700 _la = _input.LA(1);
44701 if (_la==SERVER) {
44702 {
44703 setState(6228);
44704 match(SERVER);
44705 }
44706 }
44707
44708 }
44709 break;
44710 case 11:
44711 enterOuterAlt(_localctx, 11);
44712 {
44713 setState(6231);
44714 match(CREATE);
44715 setState(6268);
44716 _errHandler.sync(this);
44717 switch ( getInterpreter().adaptivePredict(_input,728,_ctx) ) {
44718 case 1:
44719 {
44720 setState(6232);
44721 match(AGGREGATE);
44722 }
44723 break;
44724 case 2:
44725 {
44726 setState(6233);
44727 match(ASSEMBLY);
44728 }
44729 break;
44730 case 3:
44731 {
44732 setState(6234);
44733 _la = _input.LA(1);
44734 if ( !(_la==SYMMETRIC || _la==ASYMMETRIC) ) {
44735 _errHandler.recoverInline(this);
44736 }
44737 else {
44738 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
44739 _errHandler.reportMatch(this);
44740 consume();
44741 }
44742 setState(6235);
44743 match(KEY);
44744 }
44745 break;
44746 case 4:
44747 {
44748 setState(6236);
44749 match(CERTIFICATE);
44750 }
44751 break;
44752 case 5:
44753 {
44754 setState(6237);
44755 match(CONTRACT);
44756 }
44757 break;
44758 case 6:
44759 {
44760 setState(6238);
44761 match(DATABASE);
44762 }
44763 break;
44764 case 7:
44765 {
44766 setState(6240);
44767 _errHandler.sync(this);
44768 _la = _input.LA(1);
44769 if (_la==DATABASE) {
44770 {
44771 setState(6239);
44772 match(DATABASE);
44773 }
44774 }
44775
44776 setState(6242);
44777 match(DDL);
44778 setState(6243);
44779 match(EVENT);
44780 setState(6244);
44781 match(NOTIFICATION);
44782 }
44783 break;
44784 case 8:
44785 {
44786 setState(6245);
44787 match(DEFAULT);
44788 }
44789 break;
44790 case 9:
44791 {
44792 setState(6246);
44793 match(FULLTEXT);
44794 setState(6247);
44795 match(CATALOG);
44796 }
44797 break;
44798 case 10:
44799 {
44800 setState(6248);
44801 match(FUNCTION);
44802 }
44803 break;
44804 case 11:
44805 {
44806 setState(6249);
44807 match(MESSAGE);
44808 setState(6250);
44809 match(TYPE);
44810 }
44811 break;
44812 case 12:
44813 {
44814 setState(6251);
44815 match(PROCEDURE);
44816 }
44817 break;
44818 case 13:
44819 {
44820 setState(6252);
44821 match(QUEUE);
44822 }
44823 break;
44824 case 14:
44825 {
44826 setState(6253);
44827 match(REMOTE);
44828 setState(6254);
44829 match(SERVICE);
44830 setState(6255);
44831 match(BINDING);
44832 }
44833 break;
44834 case 15:
44835 {
44836 setState(6256);
44837 match(ROLE);
44838 }
44839 break;
44840 case 16:
44841 {
44842 setState(6257);
44843 match(ROUTE);
44844 }
44845 break;
44846 case 17:
44847 {
44848 setState(6258);
44849 match(RULE);
44850 }
44851 break;
44852 case 18:
44853 {
44854 setState(6259);
44855 match(SCHEMA);
44856 }
44857 break;
44858 case 19:
44859 {
44860 setState(6260);
44861 match(SERVICE);
44862 }
44863 break;
44864 case 20:
44865 {
44866 setState(6261);
44867 match(SYNONYM);
44868 }
44869 break;
44870 case 21:
44871 {
44872 setState(6262);
44873 match(TABLE);
44874 }
44875 break;
44876 case 22:
44877 {
44878 setState(6263);
44879 match(TYPE);
44880 }
44881 break;
44882 case 23:
44883 {
44884 setState(6264);
44885 match(VIEW);
44886 }
44887 break;
44888 case 24:
44889 {
44890 setState(6265);
44891 match(XML);
44892 setState(6266);
44893 match(SCHEMA);
44894 setState(6267);
44895 match(COLLECTION);
44896 }
44897 break;
44898 }
44899 }
44900 break;
44901 case 12:
44902 enterOuterAlt(_localctx, 12);
44903 {
44904 setState(6270);
44905 match(DELETE);
44906 }
44907 break;
44908 case 13:
44909 enterOuterAlt(_localctx, 13);
44910 {
44911 setState(6271);
44912 match(EXECUTE);
44913 }
44914 break;
44915 case 14:
44916 enterOuterAlt(_localctx, 14);
44917 {
44918 setState(6272);
44919 match(EXECUTE);
44920 setState(6274);
44921 _errHandler.sync(this);
44922 _la = _input.LA(1);
44923 if (_la==ANY) {
44924 {
44925 setState(6273);
44926 match(ANY);
44927 }
44928 }
44929
44930 setState(6276);
44931 match(EXTERNAL);
44932 setState(6277);
44933 match(SCRIPT);
44934 }
44935 break;
44936 case 15:
44937 enterOuterAlt(_localctx, 15);
44938 {
44939 setState(6278);
44940 match(INSERT);
44941 }
44942 break;
44943 case 16:
44944 enterOuterAlt(_localctx, 16);
44945 {
44946 setState(6279);
44947 match(KILL);
44948 setState(6280);
44949 match(DATABASE);
44950 setState(6281);
44951 match(CONNECTION);
44952 }
44953 break;
44954 case 17:
44955 enterOuterAlt(_localctx, 17);
44956 {
44957 setState(6282);
44958 match(REFERENCES);
44959 }
44960 break;
44961 case 18:
44962 enterOuterAlt(_localctx, 18);
44963 {
44964 setState(6283);
44965 match(SELECT);
44966 }
44967 break;
44968 case 19:
44969 enterOuterAlt(_localctx, 19);
44970 {
44971 setState(6284);
44972 match(SHOWPLAN);
44973 }
44974 break;
44975 case 20:
44976 enterOuterAlt(_localctx, 20);
44977 {
44978 setState(6285);
44979 match(SUBSCRIBE);
44980 setState(6286);
44981 match(QUERY);
44982 setState(6287);
44983 match(NOTIFICATIONS);
44984 }
44985 break;
44986 case 21:
44987 enterOuterAlt(_localctx, 21);
44988 {
44989 setState(6288);
44990 match(TAKE);
44991 setState(6289);
44992 match(OWNERSHIP);
44993 }
44994 break;
44995 case 22:
44996 enterOuterAlt(_localctx, 22);
44997 {
44998 setState(6290);
44999 match(UNMASK);
45000 }
45001 break;
45002 case 23:
45003 enterOuterAlt(_localctx, 23);
45004 {
45005 setState(6291);
45006 match(UPDATE);
45007 }
45008 break;
45009 case 24:
45010 enterOuterAlt(_localctx, 24);
45011 {
45012 setState(6292);
45013 match(VIEW);
45014 setState(6293);
45015 match(ANY);
45016 setState(6294);
45017 match(COLUMN);
45018 setState(6295);
45019 _la = _input.LA(1);
45020 if ( !(_la==ENCRYPTION || _la==MASTER) ) {
45021 _errHandler.recoverInline(this);
45022 }
45023 else {
45024 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
45025 _errHandler.reportMatch(this);
45026 consume();
45027 }
45028 setState(6296);
45029 match(KEY);
45030 setState(6297);
45031 match(DEFINITION);
45032 }
45033 break;
45034 case 25:
45035 enterOuterAlt(_localctx, 25);
45036 {
45037 setState(6298);
45038 match(CREATE);
45039 setState(6299);
45040 match(ANY);
45041 setState(6303);
45042 _errHandler.sync(this);
45043 switch (_input.LA(1)) {
45044 case DATABASE:
45045 {
45046 setState(6300);
45047 match(DATABASE);
45048 }
45049 break;
45050 case EXTERNAL:
45051 {
45052 setState(6301);
45053 match(EXTERNAL);
45054 setState(6302);
45055 match(LIBRARY);
45056 }
45057 break;
45058 default:
45059 throw new NoViableAltException(this);
45060 }
45061 }
45062 break;
45063 case 26:
45064 enterOuterAlt(_localctx, 26);
45065 {
45066 setState(6305);
45067 match(VIEW);
45068 setState(6306);
45069 _la = _input.LA(1);
45070 if ( !(_la==DATABASE || _la==SERVER) ) {
45071 _errHandler.recoverInline(this);
45072 }
45073 else {
45074 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
45075 _errHandler.reportMatch(this);
45076 consume();
45077 }
45078 setState(6307);
45079 match(STATE);
45080 }
45081 break;
45082 case 27:
45083 enterOuterAlt(_localctx, 27);
45084 {
45085 setState(6308);
45086 match(VIEW);
45087 setState(6310);
45088 _errHandler.sync(this);
45089 _la = _input.LA(1);
45090 if (_la==ANY) {
45091 {
45092 setState(6309);
45093 match(ANY);
45094 }
45095 }
45096
45097 setState(6312);
45098 match(DEFINITION);
45099 }
45100 break;
45101 case 28:
45102 enterOuterAlt(_localctx, 28);
45103 {
45104 }
45105 break;
45106 }
45107 }
45108 catch (RecognitionException re) {
45109 _localctx.exception = re;
45110 _errHandler.reportError(this, re);
45111 _errHandler.recover(this, re);
45112 }
45113 finally {
45114 exitRule();
45115 }
45116 return _localctx;
45117 }
45118
45119 public static class DatabasePrincipalPermissionContext extends ParserRuleContext {
45120 public DatabaseUserPermissionContext databaseUserPermission() {
45121 return getRuleContext(DatabaseUserPermissionContext.class,0);
45122 }
45123 public DatabaseRolePermissionContext databaseRolePermission() {
45124 return getRuleContext(DatabaseRolePermissionContext.class,0);
45125 }
45126 public ApplicationRolePermissionContext applicationRolePermission() {
45127 return getRuleContext(ApplicationRolePermissionContext.class,0);
45128 }
45129 public DatabasePrincipalPermissionContext(ParserRuleContext parent, int invokingState) {
45130 super(parent, invokingState);
45131 }
45132 @Override public int getRuleIndex() { return RULE_databasePrincipalPermission; }
45133 @Override
45134 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45135 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabasePrincipalPermission(this);
45136 else return visitor.visitChildren(this);
45137 }
45138 }
45139
45140 public final DatabasePrincipalPermissionContext databasePrincipalPermission() throws RecognitionException {
45141 DatabasePrincipalPermissionContext _localctx = new DatabasePrincipalPermissionContext(_ctx, getState());
45142 enterRule(_localctx, 856, RULE_databasePrincipalPermission);
45143 try {
45144 setState(6319);
45145 _errHandler.sync(this);
45146 switch ( getInterpreter().adaptivePredict(_input,733,_ctx) ) {
45147 case 1:
45148 enterOuterAlt(_localctx, 1);
45149 {
45150 setState(6316);
45151 databaseUserPermission();
45152 }
45153 break;
45154 case 2:
45155 enterOuterAlt(_localctx, 2);
45156 {
45157 setState(6317);
45158 databaseRolePermission();
45159 }
45160 break;
45161 case 3:
45162 enterOuterAlt(_localctx, 3);
45163 {
45164 setState(6318);
45165 applicationRolePermission();
45166 }
45167 break;
45168 }
45169 }
45170 catch (RecognitionException re) {
45171 _localctx.exception = re;
45172 _errHandler.reportError(this, re);
45173 _errHandler.recover(this, re);
45174 }
45175 finally {
45176 exitRule();
45177 }
45178 return _localctx;
45179 }
45180
45181 public static class DatabaseUserPermissionContext extends ParserRuleContext {
45182 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45183 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
45184 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45185 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45186 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45187 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45188 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
45189 public DatabaseUserPermissionContext(ParserRuleContext parent, int invokingState) {
45190 super(parent, invokingState);
45191 }
45192 @Override public int getRuleIndex() { return RULE_databaseUserPermission; }
45193 @Override
45194 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45195 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseUserPermission(this);
45196 else return visitor.visitChildren(this);
45197 }
45198 }
45199
45200 public final DatabaseUserPermissionContext databaseUserPermission() throws RecognitionException {
45201 DatabaseUserPermissionContext _localctx = new DatabaseUserPermissionContext(_ctx, getState());
45202 enterRule(_localctx, 858, RULE_databaseUserPermission);
45203 try {
45204 setState(6329);
45205 _errHandler.sync(this);
45206 switch ( getInterpreter().adaptivePredict(_input,734,_ctx) ) {
45207 case 1:
45208 enterOuterAlt(_localctx, 1);
45209 {
45210 setState(6321);
45211 match(CONTROL);
45212 }
45213 break;
45214 case 2:
45215 enterOuterAlt(_localctx, 2);
45216 {
45217 setState(6322);
45218 match(IMPERSONATE);
45219 }
45220 break;
45221 case 3:
45222 enterOuterAlt(_localctx, 3);
45223 {
45224 setState(6323);
45225 match(ALTER);
45226 }
45227 break;
45228 case 4:
45229 enterOuterAlt(_localctx, 4);
45230 {
45231 setState(6324);
45232 match(VIEW);
45233 setState(6325);
45234 match(DEFINITION);
45235 }
45236 break;
45237 case 5:
45238 enterOuterAlt(_localctx, 5);
45239 {
45240 setState(6326);
45241 match(ALTER);
45242 setState(6327);
45243 match(ANY);
45244 setState(6328);
45245 match(USER);
45246 }
45247 break;
45248 }
45249 }
45250 catch (RecognitionException re) {
45251 _localctx.exception = re;
45252 _errHandler.reportError(this, re);
45253 _errHandler.recover(this, re);
45254 }
45255 finally {
45256 exitRule();
45257 }
45258 return _localctx;
45259 }
45260
45261 public static class DatabaseRolePermissionContext extends ParserRuleContext {
45262 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45263 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45264 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45265 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45266 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45267 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45268 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45269 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
45270 public DatabaseRolePermissionContext(ParserRuleContext parent, int invokingState) {
45271 super(parent, invokingState);
45272 }
45273 @Override public int getRuleIndex() { return RULE_databaseRolePermission; }
45274 @Override
45275 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45276 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseRolePermission(this);
45277 else return visitor.visitChildren(this);
45278 }
45279 }
45280
45281 public final DatabaseRolePermissionContext databaseRolePermission() throws RecognitionException {
45282 DatabaseRolePermissionContext _localctx = new DatabaseRolePermissionContext(_ctx, getState());
45283 enterRule(_localctx, 860, RULE_databaseRolePermission);
45284 try {
45285 setState(6340);
45286 _errHandler.sync(this);
45287 switch ( getInterpreter().adaptivePredict(_input,735,_ctx) ) {
45288 case 1:
45289 enterOuterAlt(_localctx, 1);
45290 {
45291 setState(6331);
45292 match(CONTROL);
45293 }
45294 break;
45295 case 2:
45296 enterOuterAlt(_localctx, 2);
45297 {
45298 setState(6332);
45299 match(TAKE);
45300 setState(6333);
45301 match(OWNERSHIP);
45302 }
45303 break;
45304 case 3:
45305 enterOuterAlt(_localctx, 3);
45306 {
45307 setState(6334);
45308 match(ALTER);
45309 }
45310 break;
45311 case 4:
45312 enterOuterAlt(_localctx, 4);
45313 {
45314 setState(6335);
45315 match(VIEW);
45316 setState(6336);
45317 match(DEFINITION);
45318 }
45319 break;
45320 case 5:
45321 enterOuterAlt(_localctx, 5);
45322 {
45323 setState(6337);
45324 match(ALTER);
45325 setState(6338);
45326 match(ANY);
45327 setState(6339);
45328 match(ROLE);
45329 }
45330 break;
45331 }
45332 }
45333 catch (RecognitionException re) {
45334 _localctx.exception = re;
45335 _errHandler.reportError(this, re);
45336 _errHandler.recover(this, re);
45337 }
45338 finally {
45339 exitRule();
45340 }
45341 return _localctx;
45342 }
45343
45344 public static class ApplicationRolePermissionContext extends ParserRuleContext {
45345 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45346 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45347 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45348 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45349 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45350 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
45351 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
45352 public ApplicationRolePermissionContext(ParserRuleContext parent, int invokingState) {
45353 super(parent, invokingState);
45354 }
45355 @Override public int getRuleIndex() { return RULE_applicationRolePermission; }
45356 @Override
45357 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45358 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitApplicationRolePermission(this);
45359 else return visitor.visitChildren(this);
45360 }
45361 }
45362
45363 public final ApplicationRolePermissionContext applicationRolePermission() throws RecognitionException {
45364 ApplicationRolePermissionContext _localctx = new ApplicationRolePermissionContext(_ctx, getState());
45365 enterRule(_localctx, 862, RULE_applicationRolePermission);
45366 try {
45367 setState(6350);
45368 _errHandler.sync(this);
45369 switch ( getInterpreter().adaptivePredict(_input,736,_ctx) ) {
45370 case 1:
45371 enterOuterAlt(_localctx, 1);
45372 {
45373 setState(6342);
45374 match(CONTROL);
45375 }
45376 break;
45377 case 2:
45378 enterOuterAlt(_localctx, 2);
45379 {
45380 setState(6343);
45381 match(ALTER);
45382 }
45383 break;
45384 case 3:
45385 enterOuterAlt(_localctx, 3);
45386 {
45387 setState(6344);
45388 match(VIEW);
45389 setState(6345);
45390 match(DEFINITION);
45391 }
45392 break;
45393 case 4:
45394 enterOuterAlt(_localctx, 4);
45395 {
45396 setState(6346);
45397 match(ALTER);
45398 setState(6347);
45399 match(ANY);
45400 setState(6348);
45401 match(APPLICATION);
45402 setState(6349);
45403 match(ROLE);
45404 }
45405 break;
45406 }
45407 }
45408 catch (RecognitionException re) {
45409 _localctx.exception = re;
45410 _errHandler.reportError(this, re);
45411 _errHandler.recover(this, re);
45412 }
45413 finally {
45414 exitRule();
45415 }
45416 return _localctx;
45417 }
45418
45419 public static class DatabaseScopedCredentialPermissionContext extends ParserRuleContext {
45420 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45421 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45422 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45423 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45424 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45425 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45426 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45427 public DatabaseScopedCredentialPermissionContext(ParserRuleContext parent, int invokingState) {
45428 super(parent, invokingState);
45429 }
45430 @Override public int getRuleIndex() { return RULE_databaseScopedCredentialPermission; }
45431 @Override
45432 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45433 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseScopedCredentialPermission(this);
45434 else return visitor.visitChildren(this);
45435 }
45436 }
45437
45438 public final DatabaseScopedCredentialPermissionContext databaseScopedCredentialPermission() throws RecognitionException {
45439 DatabaseScopedCredentialPermissionContext _localctx = new DatabaseScopedCredentialPermissionContext(_ctx, getState());
45440 enterRule(_localctx, 864, RULE_databaseScopedCredentialPermission);
45441 try {
45442 setState(6359);
45443 _errHandler.sync(this);
45444 switch (_input.LA(1)) {
45445 case CONTROL:
45446 enterOuterAlt(_localctx, 1);
45447 {
45448 setState(6352);
45449 match(CONTROL);
45450 }
45451 break;
45452 case TAKE:
45453 enterOuterAlt(_localctx, 2);
45454 {
45455 setState(6353);
45456 match(TAKE);
45457 setState(6354);
45458 match(OWNERSHIP);
45459 }
45460 break;
45461 case ALTER:
45462 enterOuterAlt(_localctx, 3);
45463 {
45464 setState(6355);
45465 match(ALTER);
45466 }
45467 break;
45468 case REFERENCES:
45469 enterOuterAlt(_localctx, 4);
45470 {
45471 setState(6356);
45472 match(REFERENCES);
45473 }
45474 break;
45475 case VIEW:
45476 enterOuterAlt(_localctx, 5);
45477 {
45478 setState(6357);
45479 match(VIEW);
45480 setState(6358);
45481 match(DEFINITION);
45482 }
45483 break;
45484 default:
45485 throw new NoViableAltException(this);
45486 }
45487 }
45488 catch (RecognitionException re) {
45489 _localctx.exception = re;
45490 _errHandler.reportError(this, re);
45491 _errHandler.recover(this, re);
45492 }
45493 finally {
45494 exitRule();
45495 }
45496 return _localctx;
45497 }
45498
45499 public static class SchemaPermissionContext extends ParserRuleContext {
45500 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45501 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45502 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
45503 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
45504 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
45505 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
45506 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
45507 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45508 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
45509 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45510 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45511 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
45512 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45513 public TerminalNode CHANGE() { return getToken(SQLServerStatementParser.CHANGE, 0); }
45514 public TerminalNode TRACKING() { return getToken(SQLServerStatementParser.TRACKING, 0); }
45515 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45516 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45517 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
45518 public SchemaPermissionContext(ParserRuleContext parent, int invokingState) {
45519 super(parent, invokingState);
45520 }
45521 @Override public int getRuleIndex() { return RULE_schemaPermission; }
45522 @Override
45523 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45524 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaPermission(this);
45525 else return visitor.visitChildren(this);
45526 }
45527 }
45528
45529 public final SchemaPermissionContext schemaPermission() throws RecognitionException {
45530 SchemaPermissionContext _localctx = new SchemaPermissionContext(_ctx, getState());
45531 enterRule(_localctx, 866, RULE_schemaPermission);
45532 try {
45533 setState(6381);
45534 _errHandler.sync(this);
45535 switch ( getInterpreter().adaptivePredict(_input,738,_ctx) ) {
45536 case 1:
45537 enterOuterAlt(_localctx, 1);
45538 {
45539 setState(6361);
45540 match(ALTER);
45541 }
45542 break;
45543 case 2:
45544 enterOuterAlt(_localctx, 2);
45545 {
45546 setState(6362);
45547 match(CONTROL);
45548 }
45549 break;
45550 case 3:
45551 enterOuterAlt(_localctx, 3);
45552 {
45553 setState(6363);
45554 match(CREATE);
45555 setState(6364);
45556 match(SEQUENCE);
45557 }
45558 break;
45559 case 4:
45560 enterOuterAlt(_localctx, 4);
45561 {
45562 setState(6365);
45563 match(DELETE);
45564 }
45565 break;
45566 case 5:
45567 enterOuterAlt(_localctx, 5);
45568 {
45569 setState(6366);
45570 match(EXECUTE);
45571 }
45572 break;
45573 case 6:
45574 enterOuterAlt(_localctx, 6);
45575 {
45576 setState(6367);
45577 match(INSERT);
45578 }
45579 break;
45580 case 7:
45581 enterOuterAlt(_localctx, 7);
45582 {
45583 setState(6368);
45584 match(REFERENCES);
45585 }
45586 break;
45587 case 8:
45588 enterOuterAlt(_localctx, 8);
45589 {
45590 setState(6369);
45591 match(SELECT);
45592 }
45593 break;
45594 case 9:
45595 enterOuterAlt(_localctx, 9);
45596 {
45597 setState(6370);
45598 match(TAKE);
45599 setState(6371);
45600 match(OWNERSHIP);
45601 }
45602 break;
45603 case 10:
45604 enterOuterAlt(_localctx, 10);
45605 {
45606 setState(6372);
45607 match(UPDATE);
45608 }
45609 break;
45610 case 11:
45611 enterOuterAlt(_localctx, 11);
45612 {
45613 setState(6373);
45614 match(VIEW);
45615 setState(6374);
45616 match(CHANGE);
45617 setState(6375);
45618 match(TRACKING);
45619 }
45620 break;
45621 case 12:
45622 enterOuterAlt(_localctx, 12);
45623 {
45624 setState(6376);
45625 match(VIEW);
45626 setState(6377);
45627 match(DEFINITION);
45628 }
45629 break;
45630 case 13:
45631 enterOuterAlt(_localctx, 13);
45632 {
45633 setState(6378);
45634 match(ALTER);
45635 setState(6379);
45636 match(ANY);
45637 setState(6380);
45638 match(SCHEMA);
45639 }
45640 break;
45641 }
45642 }
45643 catch (RecognitionException re) {
45644 _localctx.exception = re;
45645 _errHandler.reportError(this, re);
45646 _errHandler.recover(this, re);
45647 }
45648 finally {
45649 exitRule();
45650 }
45651 return _localctx;
45652 }
45653
45654 public static class SearchPropertyListPermissionContext extends ParserRuleContext {
45655 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45656 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45657 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45658 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45659 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45660 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45661 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45662 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45663 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
45664 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
45665 public SearchPropertyListPermissionContext(ParserRuleContext parent, int invokingState) {
45666 super(parent, invokingState);
45667 }
45668 @Override public int getRuleIndex() { return RULE_searchPropertyListPermission; }
45669 @Override
45670 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45671 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSearchPropertyListPermission(this);
45672 else return visitor.visitChildren(this);
45673 }
45674 }
45675
45676 public final SearchPropertyListPermissionContext searchPropertyListPermission() throws RecognitionException {
45677 SearchPropertyListPermissionContext _localctx = new SearchPropertyListPermissionContext(_ctx, getState());
45678 enterRule(_localctx, 868, RULE_searchPropertyListPermission);
45679 try {
45680 setState(6394);
45681 _errHandler.sync(this);
45682 switch ( getInterpreter().adaptivePredict(_input,739,_ctx) ) {
45683 case 1:
45684 enterOuterAlt(_localctx, 1);
45685 {
45686 setState(6383);
45687 match(ALTER);
45688 }
45689 break;
45690 case 2:
45691 enterOuterAlt(_localctx, 2);
45692 {
45693 setState(6384);
45694 match(CONTROL);
45695 }
45696 break;
45697 case 3:
45698 enterOuterAlt(_localctx, 3);
45699 {
45700 setState(6385);
45701 match(REFERENCES);
45702 }
45703 break;
45704 case 4:
45705 enterOuterAlt(_localctx, 4);
45706 {
45707 setState(6386);
45708 match(TAKE);
45709 setState(6387);
45710 match(OWNERSHIP);
45711 }
45712 break;
45713 case 5:
45714 enterOuterAlt(_localctx, 5);
45715 {
45716 setState(6388);
45717 match(VIEW);
45718 setState(6389);
45719 match(DEFINITION);
45720 }
45721 break;
45722 case 6:
45723 enterOuterAlt(_localctx, 6);
45724 {
45725 setState(6390);
45726 match(ALTER);
45727 setState(6391);
45728 match(ANY);
45729 setState(6392);
45730 match(FULLTEXT);
45731 setState(6393);
45732 match(CATALOG);
45733 }
45734 break;
45735 }
45736 }
45737 catch (RecognitionException re) {
45738 _localctx.exception = re;
45739 _errHandler.reportError(this, re);
45740 _errHandler.recover(this, re);
45741 }
45742 finally {
45743 exitRule();
45744 }
45745 return _localctx;
45746 }
45747
45748 public static class ServiceBrokerPermissionContext extends ParserRuleContext {
45749 public ServiceBrokerContractsPermissionContext serviceBrokerContractsPermission() {
45750 return getRuleContext(ServiceBrokerContractsPermissionContext.class,0);
45751 }
45752 public ServiceBrokerMessageTypesPermissionContext serviceBrokerMessageTypesPermission() {
45753 return getRuleContext(ServiceBrokerMessageTypesPermissionContext.class,0);
45754 }
45755 public ServiceBrokerRemoteServiceBindingsPermissionContext serviceBrokerRemoteServiceBindingsPermission() {
45756 return getRuleContext(ServiceBrokerRemoteServiceBindingsPermissionContext.class,0);
45757 }
45758 public ServiceBrokerRoutesPermissionContext serviceBrokerRoutesPermission() {
45759 return getRuleContext(ServiceBrokerRoutesPermissionContext.class,0);
45760 }
45761 public ServiceBrokerServicesPermissionContext serviceBrokerServicesPermission() {
45762 return getRuleContext(ServiceBrokerServicesPermissionContext.class,0);
45763 }
45764 public ServiceBrokerPermissionContext(ParserRuleContext parent, int invokingState) {
45765 super(parent, invokingState);
45766 }
45767 @Override public int getRuleIndex() { return RULE_serviceBrokerPermission; }
45768 @Override
45769 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45770 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerPermission(this);
45771 else return visitor.visitChildren(this);
45772 }
45773 }
45774
45775 public final ServiceBrokerPermissionContext serviceBrokerPermission() throws RecognitionException {
45776 ServiceBrokerPermissionContext _localctx = new ServiceBrokerPermissionContext(_ctx, getState());
45777 enterRule(_localctx, 870, RULE_serviceBrokerPermission);
45778 try {
45779 setState(6401);
45780 _errHandler.sync(this);
45781 switch ( getInterpreter().adaptivePredict(_input,740,_ctx) ) {
45782 case 1:
45783 enterOuterAlt(_localctx, 1);
45784 {
45785 setState(6396);
45786 serviceBrokerContractsPermission();
45787 }
45788 break;
45789 case 2:
45790 enterOuterAlt(_localctx, 2);
45791 {
45792 setState(6397);
45793 serviceBrokerMessageTypesPermission();
45794 }
45795 break;
45796 case 3:
45797 enterOuterAlt(_localctx, 3);
45798 {
45799 setState(6398);
45800 serviceBrokerRemoteServiceBindingsPermission();
45801 }
45802 break;
45803 case 4:
45804 enterOuterAlt(_localctx, 4);
45805 {
45806 setState(6399);
45807 serviceBrokerRoutesPermission();
45808 }
45809 break;
45810 case 5:
45811 enterOuterAlt(_localctx, 5);
45812 {
45813 setState(6400);
45814 serviceBrokerServicesPermission();
45815 }
45816 break;
45817 }
45818 }
45819 catch (RecognitionException re) {
45820 _localctx.exception = re;
45821 _errHandler.reportError(this, re);
45822 _errHandler.recover(this, re);
45823 }
45824 finally {
45825 exitRule();
45826 }
45827 return _localctx;
45828 }
45829
45830 public static class ServiceBrokerContractsPermissionContext extends ParserRuleContext {
45831 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45832 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45833 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45834 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45835 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45836 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45837 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45838 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45839 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
45840 public ServiceBrokerContractsPermissionContext(ParserRuleContext parent, int invokingState) {
45841 super(parent, invokingState);
45842 }
45843 @Override public int getRuleIndex() { return RULE_serviceBrokerContractsPermission; }
45844 @Override
45845 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45846 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerContractsPermission(this);
45847 else return visitor.visitChildren(this);
45848 }
45849 }
45850
45851 public final ServiceBrokerContractsPermissionContext serviceBrokerContractsPermission() throws RecognitionException {
45852 ServiceBrokerContractsPermissionContext _localctx = new ServiceBrokerContractsPermissionContext(_ctx, getState());
45853 enterRule(_localctx, 872, RULE_serviceBrokerContractsPermission);
45854 try {
45855 setState(6413);
45856 _errHandler.sync(this);
45857 switch ( getInterpreter().adaptivePredict(_input,741,_ctx) ) {
45858 case 1:
45859 enterOuterAlt(_localctx, 1);
45860 {
45861 setState(6403);
45862 match(CONTROL);
45863 }
45864 break;
45865 case 2:
45866 enterOuterAlt(_localctx, 2);
45867 {
45868 setState(6404);
45869 match(TAKE);
45870 setState(6405);
45871 match(OWNERSHIP);
45872 }
45873 break;
45874 case 3:
45875 enterOuterAlt(_localctx, 3);
45876 {
45877 setState(6406);
45878 match(ALTER);
45879 }
45880 break;
45881 case 4:
45882 enterOuterAlt(_localctx, 4);
45883 {
45884 setState(6407);
45885 match(REFERENCES);
45886 }
45887 break;
45888 case 5:
45889 enterOuterAlt(_localctx, 5);
45890 {
45891 setState(6408);
45892 match(VIEW);
45893 setState(6409);
45894 match(DEFINITION);
45895 }
45896 break;
45897 case 6:
45898 enterOuterAlt(_localctx, 6);
45899 {
45900 setState(6410);
45901 match(ALTER);
45902 setState(6411);
45903 match(ANY);
45904 setState(6412);
45905 match(CONTRACT);
45906 }
45907 break;
45908 }
45909 }
45910 catch (RecognitionException re) {
45911 _localctx.exception = re;
45912 _errHandler.reportError(this, re);
45913 _errHandler.recover(this, re);
45914 }
45915 finally {
45916 exitRule();
45917 }
45918 return _localctx;
45919 }
45920
45921 public static class ServiceBrokerMessageTypesPermissionContext extends ParserRuleContext {
45922 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45923 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45924 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45925 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45926 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45927 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45928 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45929 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
45930 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
45931 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
45932 public ServiceBrokerMessageTypesPermissionContext(ParserRuleContext parent, int invokingState) {
45933 super(parent, invokingState);
45934 }
45935 @Override public int getRuleIndex() { return RULE_serviceBrokerMessageTypesPermission; }
45936 @Override
45937 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45938 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerMessageTypesPermission(this);
45939 else return visitor.visitChildren(this);
45940 }
45941 }
45942
45943 public final ServiceBrokerMessageTypesPermissionContext serviceBrokerMessageTypesPermission() throws RecognitionException {
45944 ServiceBrokerMessageTypesPermissionContext _localctx = new ServiceBrokerMessageTypesPermissionContext(_ctx, getState());
45945 enterRule(_localctx, 874, RULE_serviceBrokerMessageTypesPermission);
45946 try {
45947 setState(6426);
45948 _errHandler.sync(this);
45949 switch ( getInterpreter().adaptivePredict(_input,742,_ctx) ) {
45950 case 1:
45951 enterOuterAlt(_localctx, 1);
45952 {
45953 setState(6415);
45954 match(CONTROL);
45955 }
45956 break;
45957 case 2:
45958 enterOuterAlt(_localctx, 2);
45959 {
45960 setState(6416);
45961 match(TAKE);
45962 setState(6417);
45963 match(OWNERSHIP);
45964 }
45965 break;
45966 case 3:
45967 enterOuterAlt(_localctx, 3);
45968 {
45969 setState(6418);
45970 match(ALTER);
45971 }
45972 break;
45973 case 4:
45974 enterOuterAlt(_localctx, 4);
45975 {
45976 setState(6419);
45977 match(REFERENCES);
45978 }
45979 break;
45980 case 5:
45981 enterOuterAlt(_localctx, 5);
45982 {
45983 setState(6420);
45984 match(VIEW);
45985 setState(6421);
45986 match(DEFINITION);
45987 }
45988 break;
45989 case 6:
45990 enterOuterAlt(_localctx, 6);
45991 {
45992 setState(6422);
45993 match(ALTER);
45994 setState(6423);
45995 match(ANY);
45996 setState(6424);
45997 match(MESSAGE);
45998 setState(6425);
45999 match(TYPE);
46000 }
46001 break;
46002 }
46003 }
46004 catch (RecognitionException re) {
46005 _localctx.exception = re;
46006 _errHandler.reportError(this, re);
46007 _errHandler.recover(this, re);
46008 }
46009 finally {
46010 exitRule();
46011 }
46012 return _localctx;
46013 }
46014
46015 public static class ServiceBrokerRemoteServiceBindingsPermissionContext extends ParserRuleContext {
46016 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46017 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46018 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46019 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46020 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46021 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46022 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46023 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
46024 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
46025 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
46026 public ServiceBrokerRemoteServiceBindingsPermissionContext(ParserRuleContext parent, int invokingState) {
46027 super(parent, invokingState);
46028 }
46029 @Override public int getRuleIndex() { return RULE_serviceBrokerRemoteServiceBindingsPermission; }
46030 @Override
46031 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46032 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerRemoteServiceBindingsPermission(this);
46033 else return visitor.visitChildren(this);
46034 }
46035 }
46036
46037 public final ServiceBrokerRemoteServiceBindingsPermissionContext serviceBrokerRemoteServiceBindingsPermission() throws RecognitionException {
46038 ServiceBrokerRemoteServiceBindingsPermissionContext _localctx = new ServiceBrokerRemoteServiceBindingsPermissionContext(_ctx, getState());
46039 enterRule(_localctx, 876, RULE_serviceBrokerRemoteServiceBindingsPermission);
46040 try {
46041 setState(6439);
46042 _errHandler.sync(this);
46043 switch ( getInterpreter().adaptivePredict(_input,743,_ctx) ) {
46044 case 1:
46045 enterOuterAlt(_localctx, 1);
46046 {
46047 setState(6428);
46048 match(CONTROL);
46049 }
46050 break;
46051 case 2:
46052 enterOuterAlt(_localctx, 2);
46053 {
46054 setState(6429);
46055 match(TAKE);
46056 setState(6430);
46057 match(OWNERSHIP);
46058 }
46059 break;
46060 case 3:
46061 enterOuterAlt(_localctx, 3);
46062 {
46063 setState(6431);
46064 match(ALTER);
46065 }
46066 break;
46067 case 4:
46068 enterOuterAlt(_localctx, 4);
46069 {
46070 setState(6432);
46071 match(VIEW);
46072 setState(6433);
46073 match(DEFINITION);
46074 }
46075 break;
46076 case 5:
46077 enterOuterAlt(_localctx, 5);
46078 {
46079 setState(6434);
46080 match(ALTER);
46081 setState(6435);
46082 match(ANY);
46083 setState(6436);
46084 match(REMOTE);
46085 setState(6437);
46086 match(SERVICE);
46087 setState(6438);
46088 match(BINDING);
46089 }
46090 break;
46091 }
46092 }
46093 catch (RecognitionException re) {
46094 _localctx.exception = re;
46095 _errHandler.reportError(this, re);
46096 _errHandler.recover(this, re);
46097 }
46098 finally {
46099 exitRule();
46100 }
46101 return _localctx;
46102 }
46103
46104 public static class ServiceBrokerRoutesPermissionContext extends ParserRuleContext {
46105 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46106 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46107 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46108 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46109 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46110 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46111 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46112 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
46113 public ServiceBrokerRoutesPermissionContext(ParserRuleContext parent, int invokingState) {
46114 super(parent, invokingState);
46115 }
46116 @Override public int getRuleIndex() { return RULE_serviceBrokerRoutesPermission; }
46117 @Override
46118 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46119 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerRoutesPermission(this);
46120 else return visitor.visitChildren(this);
46121 }
46122 }
46123
46124 public final ServiceBrokerRoutesPermissionContext serviceBrokerRoutesPermission() throws RecognitionException {
46125 ServiceBrokerRoutesPermissionContext _localctx = new ServiceBrokerRoutesPermissionContext(_ctx, getState());
46126 enterRule(_localctx, 878, RULE_serviceBrokerRoutesPermission);
46127 try {
46128 setState(6450);
46129 _errHandler.sync(this);
46130 switch ( getInterpreter().adaptivePredict(_input,744,_ctx) ) {
46131 case 1:
46132 enterOuterAlt(_localctx, 1);
46133 {
46134 setState(6441);
46135 match(CONTROL);
46136 }
46137 break;
46138 case 2:
46139 enterOuterAlt(_localctx, 2);
46140 {
46141 setState(6442);
46142 match(TAKE);
46143 setState(6443);
46144 match(OWNERSHIP);
46145 }
46146 break;
46147 case 3:
46148 enterOuterAlt(_localctx, 3);
46149 {
46150 setState(6444);
46151 match(ALTER);
46152 }
46153 break;
46154 case 4:
46155 enterOuterAlt(_localctx, 4);
46156 {
46157 setState(6445);
46158 match(VIEW);
46159 setState(6446);
46160 match(DEFINITION);
46161 }
46162 break;
46163 case 5:
46164 enterOuterAlt(_localctx, 5);
46165 {
46166 setState(6447);
46167 match(ALTER);
46168 setState(6448);
46169 match(ANY);
46170 setState(6449);
46171 match(ROUTE);
46172 }
46173 break;
46174 }
46175 }
46176 catch (RecognitionException re) {
46177 _localctx.exception = re;
46178 _errHandler.reportError(this, re);
46179 _errHandler.recover(this, re);
46180 }
46181 finally {
46182 exitRule();
46183 }
46184 return _localctx;
46185 }
46186
46187 public static class ServiceBrokerServicesPermissionContext extends ParserRuleContext {
46188 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46189 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46190 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46191 public TerminalNode SEND() { return getToken(SQLServerStatementParser.SEND, 0); }
46192 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46193 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46194 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46195 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46196 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
46197 public ServiceBrokerServicesPermissionContext(ParserRuleContext parent, int invokingState) {
46198 super(parent, invokingState);
46199 }
46200 @Override public int getRuleIndex() { return RULE_serviceBrokerServicesPermission; }
46201 @Override
46202 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46203 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerServicesPermission(this);
46204 else return visitor.visitChildren(this);
46205 }
46206 }
46207
46208 public final ServiceBrokerServicesPermissionContext serviceBrokerServicesPermission() throws RecognitionException {
46209 ServiceBrokerServicesPermissionContext _localctx = new ServiceBrokerServicesPermissionContext(_ctx, getState());
46210 enterRule(_localctx, 880, RULE_serviceBrokerServicesPermission);
46211 try {
46212 setState(6462);
46213 _errHandler.sync(this);
46214 switch ( getInterpreter().adaptivePredict(_input,745,_ctx) ) {
46215 case 1:
46216 enterOuterAlt(_localctx, 1);
46217 {
46218 setState(6452);
46219 match(CONTROL);
46220 }
46221 break;
46222 case 2:
46223 enterOuterAlt(_localctx, 2);
46224 {
46225 setState(6453);
46226 match(TAKE);
46227 setState(6454);
46228 match(OWNERSHIP);
46229 }
46230 break;
46231 case 3:
46232 enterOuterAlt(_localctx, 3);
46233 {
46234 setState(6455);
46235 match(SEND);
46236 }
46237 break;
46238 case 4:
46239 enterOuterAlt(_localctx, 4);
46240 {
46241 setState(6456);
46242 match(ALTER);
46243 }
46244 break;
46245 case 5:
46246 enterOuterAlt(_localctx, 5);
46247 {
46248 setState(6457);
46249 match(VIEW);
46250 setState(6458);
46251 match(DEFINITION);
46252 }
46253 break;
46254 case 6:
46255 enterOuterAlt(_localctx, 6);
46256 {
46257 setState(6459);
46258 match(ALTER);
46259 setState(6460);
46260 match(ANY);
46261 setState(6461);
46262 match(SERVICE);
46263 }
46264 break;
46265 }
46266 }
46267 catch (RecognitionException re) {
46268 _localctx.exception = re;
46269 _errHandler.reportError(this, re);
46270 _errHandler.recover(this, re);
46271 }
46272 finally {
46273 exitRule();
46274 }
46275 return _localctx;
46276 }
46277
46278 public static class EndpointPermissionContext extends ParserRuleContext {
46279 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46280 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
46281 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46282 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
46283 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46284 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46285 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46286 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46287 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46288 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
46289 public EndpointPermissionContext(ParserRuleContext parent, int invokingState) {
46290 super(parent, invokingState);
46291 }
46292 @Override public int getRuleIndex() { return RULE_endpointPermission; }
46293 @Override
46294 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46295 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEndpointPermission(this);
46296 else return visitor.visitChildren(this);
46297 }
46298 }
46299
46300 public final EndpointPermissionContext endpointPermission() throws RecognitionException {
46301 EndpointPermissionContext _localctx = new EndpointPermissionContext(_ctx, getState());
46302 enterRule(_localctx, 882, RULE_endpointPermission);
46303 int _la;
46304 try {
46305 setState(6480);
46306 _errHandler.sync(this);
46307 switch ( getInterpreter().adaptivePredict(_input,748,_ctx) ) {
46308 case 1:
46309 enterOuterAlt(_localctx, 1);
46310 {
46311 setState(6464);
46312 match(ALTER);
46313 }
46314 break;
46315 case 2:
46316 enterOuterAlt(_localctx, 2);
46317 {
46318 setState(6465);
46319 match(CONNECT);
46320 }
46321 break;
46322 case 3:
46323 enterOuterAlt(_localctx, 3);
46324 {
46325 setState(6466);
46326 match(CONTROL);
46327 setState(6468);
46328 _errHandler.sync(this);
46329 _la = _input.LA(1);
46330 if (_la==SERVER) {
46331 {
46332 setState(6467);
46333 match(SERVER);
46334 }
46335 }
46336
46337 }
46338 break;
46339 case 4:
46340 enterOuterAlt(_localctx, 4);
46341 {
46342 setState(6470);
46343 match(TAKE);
46344 setState(6471);
46345 match(OWNERSHIP);
46346 }
46347 break;
46348 case 5:
46349 enterOuterAlt(_localctx, 5);
46350 {
46351 setState(6472);
46352 match(VIEW);
46353 setState(6474);
46354 _errHandler.sync(this);
46355 _la = _input.LA(1);
46356 if (_la==ANY) {
46357 {
46358 setState(6473);
46359 match(ANY);
46360 }
46361 }
46362
46363 setState(6476);
46364 match(DEFINITION);
46365 }
46366 break;
46367 case 6:
46368 enterOuterAlt(_localctx, 6);
46369 {
46370 setState(6477);
46371 match(ALTER);
46372 setState(6478);
46373 match(ANY);
46374 setState(6479);
46375 match(ENDPOINT);
46376 }
46377 break;
46378 }
46379 }
46380 catch (RecognitionException re) {
46381 _localctx.exception = re;
46382 _errHandler.reportError(this, re);
46383 _errHandler.recover(this, re);
46384 }
46385 finally {
46386 exitRule();
46387 }
46388 return _localctx;
46389 }
46390
46391 public static class CertificatePermissionContext extends ParserRuleContext {
46392 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46393 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46394 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46395 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46396 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
46397 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46398 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46399 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46400 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
46401 public CertificatePermissionContext(ParserRuleContext parent, int invokingState) {
46402 super(parent, invokingState);
46403 }
46404 @Override public int getRuleIndex() { return RULE_certificatePermission; }
46405 @Override
46406 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46407 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCertificatePermission(this);
46408 else return visitor.visitChildren(this);
46409 }
46410 }
46411
46412 public final CertificatePermissionContext certificatePermission() throws RecognitionException {
46413 CertificatePermissionContext _localctx = new CertificatePermissionContext(_ctx, getState());
46414 enterRule(_localctx, 884, RULE_certificatePermission);
46415 try {
46416 setState(6492);
46417 _errHandler.sync(this);
46418 switch ( getInterpreter().adaptivePredict(_input,749,_ctx) ) {
46419 case 1:
46420 enterOuterAlt(_localctx, 1);
46421 {
46422 setState(6482);
46423 match(CONTROL);
46424 }
46425 break;
46426 case 2:
46427 enterOuterAlt(_localctx, 2);
46428 {
46429 setState(6483);
46430 match(TAKE);
46431 setState(6484);
46432 match(OWNERSHIP);
46433 }
46434 break;
46435 case 3:
46436 enterOuterAlt(_localctx, 3);
46437 {
46438 setState(6485);
46439 match(ALTER);
46440 }
46441 break;
46442 case 4:
46443 enterOuterAlt(_localctx, 4);
46444 {
46445 setState(6486);
46446 match(REFERENCES);
46447 }
46448 break;
46449 case 5:
46450 enterOuterAlt(_localctx, 5);
46451 {
46452 setState(6487);
46453 match(VIEW);
46454 setState(6488);
46455 match(DEFINITION);
46456 }
46457 break;
46458 case 6:
46459 enterOuterAlt(_localctx, 6);
46460 {
46461 setState(6489);
46462 match(ALTER);
46463 setState(6490);
46464 match(ANY);
46465 setState(6491);
46466 match(CERTIFICATE);
46467 }
46468 break;
46469 }
46470 }
46471 catch (RecognitionException re) {
46472 _localctx.exception = re;
46473 _errHandler.reportError(this, re);
46474 _errHandler.recover(this, re);
46475 }
46476 finally {
46477 exitRule();
46478 }
46479 return _localctx;
46480 }
46481
46482 public static class SymmetricKeyPermissionContext extends ParserRuleContext {
46483 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46484 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46485 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
46486 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46487 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46488 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46489 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46490 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46491 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
46492 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
46493 public SymmetricKeyPermissionContext(ParserRuleContext parent, int invokingState) {
46494 super(parent, invokingState);
46495 }
46496 @Override public int getRuleIndex() { return RULE_symmetricKeyPermission; }
46497 @Override
46498 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46499 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSymmetricKeyPermission(this);
46500 else return visitor.visitChildren(this);
46501 }
46502 }
46503
46504 public final SymmetricKeyPermissionContext symmetricKeyPermission() throws RecognitionException {
46505 SymmetricKeyPermissionContext _localctx = new SymmetricKeyPermissionContext(_ctx, getState());
46506 enterRule(_localctx, 886, RULE_symmetricKeyPermission);
46507 try {
46508 setState(6505);
46509 _errHandler.sync(this);
46510 switch ( getInterpreter().adaptivePredict(_input,750,_ctx) ) {
46511 case 1:
46512 enterOuterAlt(_localctx, 1);
46513 {
46514 setState(6494);
46515 match(ALTER);
46516 }
46517 break;
46518 case 2:
46519 enterOuterAlt(_localctx, 2);
46520 {
46521 setState(6495);
46522 match(CONTROL);
46523 }
46524 break;
46525 case 3:
46526 enterOuterAlt(_localctx, 3);
46527 {
46528 setState(6496);
46529 match(REFERENCES);
46530 }
46531 break;
46532 case 4:
46533 enterOuterAlt(_localctx, 4);
46534 {
46535 setState(6497);
46536 match(TAKE);
46537 setState(6498);
46538 match(OWNERSHIP);
46539 }
46540 break;
46541 case 5:
46542 enterOuterAlt(_localctx, 5);
46543 {
46544 setState(6499);
46545 match(VIEW);
46546 setState(6500);
46547 match(DEFINITION);
46548 }
46549 break;
46550 case 6:
46551 enterOuterAlt(_localctx, 6);
46552 {
46553 setState(6501);
46554 match(ALTER);
46555 setState(6502);
46556 match(ANY);
46557 setState(6503);
46558 match(SYMMETRIC);
46559 setState(6504);
46560 match(KEY);
46561 }
46562 break;
46563 }
46564 }
46565 catch (RecognitionException re) {
46566 _localctx.exception = re;
46567 _errHandler.reportError(this, re);
46568 _errHandler.recover(this, re);
46569 }
46570 finally {
46571 exitRule();
46572 }
46573 return _localctx;
46574 }
46575
46576 public static class AsymmetricKeyPermissionContext extends ParserRuleContext {
46577 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46578 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46579 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46580 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46581 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
46582 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46583 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46584 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46585 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
46586 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
46587 public AsymmetricKeyPermissionContext(ParserRuleContext parent, int invokingState) {
46588 super(parent, invokingState);
46589 }
46590 @Override public int getRuleIndex() { return RULE_asymmetricKeyPermission; }
46591 @Override
46592 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46593 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAsymmetricKeyPermission(this);
46594 else return visitor.visitChildren(this);
46595 }
46596 }
46597
46598 public final AsymmetricKeyPermissionContext asymmetricKeyPermission() throws RecognitionException {
46599 AsymmetricKeyPermissionContext _localctx = new AsymmetricKeyPermissionContext(_ctx, getState());
46600 enterRule(_localctx, 888, RULE_asymmetricKeyPermission);
46601 try {
46602 setState(6518);
46603 _errHandler.sync(this);
46604 switch ( getInterpreter().adaptivePredict(_input,751,_ctx) ) {
46605 case 1:
46606 enterOuterAlt(_localctx, 1);
46607 {
46608 setState(6507);
46609 match(CONTROL);
46610 }
46611 break;
46612 case 2:
46613 enterOuterAlt(_localctx, 2);
46614 {
46615 setState(6508);
46616 match(TAKE);
46617 setState(6509);
46618 match(OWNERSHIP);
46619 }
46620 break;
46621 case 3:
46622 enterOuterAlt(_localctx, 3);
46623 {
46624 setState(6510);
46625 match(ALTER);
46626 }
46627 break;
46628 case 4:
46629 enterOuterAlt(_localctx, 4);
46630 {
46631 setState(6511);
46632 match(REFERENCES);
46633 }
46634 break;
46635 case 5:
46636 enterOuterAlt(_localctx, 5);
46637 {
46638 setState(6512);
46639 match(VIEW);
46640 setState(6513);
46641 match(DEFINITION);
46642 }
46643 break;
46644 case 6:
46645 enterOuterAlt(_localctx, 6);
46646 {
46647 setState(6514);
46648 match(ALTER);
46649 setState(6515);
46650 match(ANY);
46651 setState(6516);
46652 match(ASYMMETRIC);
46653 setState(6517);
46654 match(KEY);
46655 }
46656 break;
46657 }
46658 }
46659 catch (RecognitionException re) {
46660 _localctx.exception = re;
46661 _errHandler.reportError(this, re);
46662 _errHandler.recover(this, re);
46663 }
46664 finally {
46665 exitRule();
46666 }
46667 return _localctx;
46668 }
46669
46670 public static class AssemblyPermissionContext extends ParserRuleContext {
46671 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46672 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46673 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46674 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46675 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
46676 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46677 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46678 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46679 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
46680 public AssemblyPermissionContext(ParserRuleContext parent, int invokingState) {
46681 super(parent, invokingState);
46682 }
46683 @Override public int getRuleIndex() { return RULE_assemblyPermission; }
46684 @Override
46685 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46686 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssemblyPermission(this);
46687 else return visitor.visitChildren(this);
46688 }
46689 }
46690
46691 public final AssemblyPermissionContext assemblyPermission() throws RecognitionException {
46692 AssemblyPermissionContext _localctx = new AssemblyPermissionContext(_ctx, getState());
46693 enterRule(_localctx, 890, RULE_assemblyPermission);
46694 try {
46695 setState(6530);
46696 _errHandler.sync(this);
46697 switch ( getInterpreter().adaptivePredict(_input,752,_ctx) ) {
46698 case 1:
46699 enterOuterAlt(_localctx, 1);
46700 {
46701 setState(6520);
46702 match(CONTROL);
46703 }
46704 break;
46705 case 2:
46706 enterOuterAlt(_localctx, 2);
46707 {
46708 setState(6521);
46709 match(TAKE);
46710 setState(6522);
46711 match(OWNERSHIP);
46712 }
46713 break;
46714 case 3:
46715 enterOuterAlt(_localctx, 3);
46716 {
46717 setState(6523);
46718 match(ALTER);
46719 }
46720 break;
46721 case 4:
46722 enterOuterAlt(_localctx, 4);
46723 {
46724 setState(6524);
46725 match(REFERENCES);
46726 }
46727 break;
46728 case 5:
46729 enterOuterAlt(_localctx, 5);
46730 {
46731 setState(6525);
46732 match(VIEW);
46733 setState(6526);
46734 match(DEFINITION);
46735 }
46736 break;
46737 case 6:
46738 enterOuterAlt(_localctx, 6);
46739 {
46740 setState(6527);
46741 match(ALTER);
46742 setState(6528);
46743 match(ANY);
46744 setState(6529);
46745 match(ASSEMBLY);
46746 }
46747 break;
46748 }
46749 }
46750 catch (RecognitionException re) {
46751 _localctx.exception = re;
46752 _errHandler.reportError(this, re);
46753 _errHandler.recover(this, re);
46754 }
46755 finally {
46756 exitRule();
46757 }
46758 return _localctx;
46759 }
46760
46761 public static class AvailabilityGroupPermissionContext extends ParserRuleContext {
46762 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46763 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
46764 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46765 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
46766 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46767 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46768 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46769 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46770 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46771 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
46772 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
46773 public AvailabilityGroupPermissionContext(ParserRuleContext parent, int invokingState) {
46774 super(parent, invokingState);
46775 }
46776 @Override public int getRuleIndex() { return RULE_availabilityGroupPermission; }
46777 @Override
46778 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46779 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAvailabilityGroupPermission(this);
46780 else return visitor.visitChildren(this);
46781 }
46782 }
46783
46784 public final AvailabilityGroupPermissionContext availabilityGroupPermission() throws RecognitionException {
46785 AvailabilityGroupPermissionContext _localctx = new AvailabilityGroupPermissionContext(_ctx, getState());
46786 enterRule(_localctx, 892, RULE_availabilityGroupPermission);
46787 int _la;
46788 try {
46789 setState(6549);
46790 _errHandler.sync(this);
46791 switch ( getInterpreter().adaptivePredict(_input,755,_ctx) ) {
46792 case 1:
46793 enterOuterAlt(_localctx, 1);
46794 {
46795 setState(6532);
46796 match(ALTER);
46797 }
46798 break;
46799 case 2:
46800 enterOuterAlt(_localctx, 2);
46801 {
46802 setState(6533);
46803 match(CONNECT);
46804 }
46805 break;
46806 case 3:
46807 enterOuterAlt(_localctx, 3);
46808 {
46809 setState(6534);
46810 match(CONTROL);
46811 setState(6536);
46812 _errHandler.sync(this);
46813 _la = _input.LA(1);
46814 if (_la==SERVER) {
46815 {
46816 setState(6535);
46817 match(SERVER);
46818 }
46819 }
46820
46821 }
46822 break;
46823 case 4:
46824 enterOuterAlt(_localctx, 4);
46825 {
46826 setState(6538);
46827 match(TAKE);
46828 setState(6539);
46829 match(OWNERSHIP);
46830 }
46831 break;
46832 case 5:
46833 enterOuterAlt(_localctx, 5);
46834 {
46835 setState(6540);
46836 match(VIEW);
46837 setState(6542);
46838 _errHandler.sync(this);
46839 _la = _input.LA(1);
46840 if (_la==ANY) {
46841 {
46842 setState(6541);
46843 match(ANY);
46844 }
46845 }
46846
46847 setState(6544);
46848 match(DEFINITION);
46849 }
46850 break;
46851 case 6:
46852 enterOuterAlt(_localctx, 6);
46853 {
46854 setState(6545);
46855 match(ALTER);
46856 setState(6546);
46857 match(ANY);
46858 setState(6547);
46859 match(AVAILABILITY);
46860 setState(6548);
46861 match(GROUP);
46862 }
46863 break;
46864 }
46865 }
46866 catch (RecognitionException re) {
46867 _localctx.exception = re;
46868 _errHandler.reportError(this, re);
46869 _errHandler.recover(this, re);
46870 }
46871 finally {
46872 exitRule();
46873 }
46874 return _localctx;
46875 }
46876
46877 public static class FullTextPermissionContext extends ParserRuleContext {
46878 public FullTextCatalogPermissionContext fullTextCatalogPermission() {
46879 return getRuleContext(FullTextCatalogPermissionContext.class,0);
46880 }
46881 public FullTextStoplistPermissionContext fullTextStoplistPermission() {
46882 return getRuleContext(FullTextStoplistPermissionContext.class,0);
46883 }
46884 public FullTextPermissionContext(ParserRuleContext parent, int invokingState) {
46885 super(parent, invokingState);
46886 }
46887 @Override public int getRuleIndex() { return RULE_fullTextPermission; }
46888 @Override
46889 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46890 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFullTextPermission(this);
46891 else return visitor.visitChildren(this);
46892 }
46893 }
46894
46895 public final FullTextPermissionContext fullTextPermission() throws RecognitionException {
46896 FullTextPermissionContext _localctx = new FullTextPermissionContext(_ctx, getState());
46897 enterRule(_localctx, 894, RULE_fullTextPermission);
46898 try {
46899 setState(6553);
46900 _errHandler.sync(this);
46901 switch ( getInterpreter().adaptivePredict(_input,756,_ctx) ) {
46902 case 1:
46903 enterOuterAlt(_localctx, 1);
46904 {
46905 setState(6551);
46906 fullTextCatalogPermission();
46907 }
46908 break;
46909 case 2:
46910 enterOuterAlt(_localctx, 2);
46911 {
46912 setState(6552);
46913 fullTextStoplistPermission();
46914 }
46915 break;
46916 }
46917 }
46918 catch (RecognitionException re) {
46919 _localctx.exception = re;
46920 _errHandler.reportError(this, re);
46921 _errHandler.recover(this, re);
46922 }
46923 finally {
46924 exitRule();
46925 }
46926 return _localctx;
46927 }
46928
46929 public static class FullTextCatalogPermissionContext extends ParserRuleContext {
46930 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
46931 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
46932 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
46933 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
46934 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
46935 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
46936 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
46937 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
46938 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
46939 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
46940 public FullTextCatalogPermissionContext(ParserRuleContext parent, int invokingState) {
46941 super(parent, invokingState);
46942 }
46943 @Override public int getRuleIndex() { return RULE_fullTextCatalogPermission; }
46944 @Override
46945 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46946 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFullTextCatalogPermission(this);
46947 else return visitor.visitChildren(this);
46948 }
46949 }
46950
46951 public final FullTextCatalogPermissionContext fullTextCatalogPermission() throws RecognitionException {
46952 FullTextCatalogPermissionContext _localctx = new FullTextCatalogPermissionContext(_ctx, getState());
46953 enterRule(_localctx, 896, RULE_fullTextCatalogPermission);
46954 try {
46955 setState(6566);
46956 _errHandler.sync(this);
46957 switch ( getInterpreter().adaptivePredict(_input,757,_ctx) ) {
46958 case 1:
46959 enterOuterAlt(_localctx, 1);
46960 {
46961 setState(6555);
46962 match(CONTROL);
46963 }
46964 break;
46965 case 2:
46966 enterOuterAlt(_localctx, 2);
46967 {
46968 setState(6556);
46969 match(TAKE);
46970 setState(6557);
46971 match(OWNERSHIP);
46972 }
46973 break;
46974 case 3:
46975 enterOuterAlt(_localctx, 3);
46976 {
46977 setState(6558);
46978 match(ALTER);
46979 }
46980 break;
46981 case 4:
46982 enterOuterAlt(_localctx, 4);
46983 {
46984 setState(6559);
46985 match(REFERENCES);
46986 }
46987 break;
46988 case 5:
46989 enterOuterAlt(_localctx, 5);
46990 {
46991 setState(6560);
46992 match(VIEW);
46993 setState(6561);
46994 match(DEFINITION);
46995 }
46996 break;
46997 case 6:
46998 enterOuterAlt(_localctx, 6);
46999 {
47000 setState(6562);
47001 match(ALTER);
47002 setState(6563);
47003 match(ANY);
47004 setState(6564);
47005 match(FULLTEXT);
47006 setState(6565);
47007 match(CATALOG);
47008 }
47009 break;
47010 }
47011 }
47012 catch (RecognitionException re) {
47013 _localctx.exception = re;
47014 _errHandler.reportError(this, re);
47015 _errHandler.recover(this, re);
47016 }
47017 finally {
47018 exitRule();
47019 }
47020 return _localctx;
47021 }
47022
47023 public static class FullTextStoplistPermissionContext extends ParserRuleContext {
47024 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
47025 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
47026 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
47027 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
47028 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
47029 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
47030 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
47031 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
47032 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
47033 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
47034 public FullTextStoplistPermissionContext(ParserRuleContext parent, int invokingState) {
47035 super(parent, invokingState);
47036 }
47037 @Override public int getRuleIndex() { return RULE_fullTextStoplistPermission; }
47038 @Override
47039 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47040 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFullTextStoplistPermission(this);
47041 else return visitor.visitChildren(this);
47042 }
47043 }
47044
47045 public final FullTextStoplistPermissionContext fullTextStoplistPermission() throws RecognitionException {
47046 FullTextStoplistPermissionContext _localctx = new FullTextStoplistPermissionContext(_ctx, getState());
47047 enterRule(_localctx, 898, RULE_fullTextStoplistPermission);
47048 try {
47049 setState(6579);
47050 _errHandler.sync(this);
47051 switch ( getInterpreter().adaptivePredict(_input,758,_ctx) ) {
47052 case 1:
47053 enterOuterAlt(_localctx, 1);
47054 {
47055 setState(6568);
47056 match(ALTER);
47057 }
47058 break;
47059 case 2:
47060 enterOuterAlt(_localctx, 2);
47061 {
47062 setState(6569);
47063 match(CONTROL);
47064 }
47065 break;
47066 case 3:
47067 enterOuterAlt(_localctx, 3);
47068 {
47069 setState(6570);
47070 match(REFERENCES);
47071 }
47072 break;
47073 case 4:
47074 enterOuterAlt(_localctx, 4);
47075 {
47076 setState(6571);
47077 match(TAKE);
47078 setState(6572);
47079 match(OWNERSHIP);
47080 }
47081 break;
47082 case 5:
47083 enterOuterAlt(_localctx, 5);
47084 {
47085 setState(6573);
47086 match(VIEW);
47087 setState(6574);
47088 match(DEFINITION);
47089 }
47090 break;
47091 case 6:
47092 enterOuterAlt(_localctx, 6);
47093 {
47094 setState(6575);
47095 match(ALTER);
47096 setState(6576);
47097 match(ANY);
47098 setState(6577);
47099 match(FULLTEXT);
47100 setState(6578);
47101 match(CATALOG);
47102 }
47103 break;
47104 }
47105 }
47106 catch (RecognitionException re) {
47107 _localctx.exception = re;
47108 _errHandler.reportError(this, re);
47109 _errHandler.recover(this, re);
47110 }
47111 finally {
47112 exitRule();
47113 }
47114 return _localctx;
47115 }
47116
47117 public static class TypePermissionContext extends ParserRuleContext {
47118 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
47119 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
47120 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
47121 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
47122 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
47123 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
47124 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
47125 public TypePermissionContext(ParserRuleContext parent, int invokingState) {
47126 super(parent, invokingState);
47127 }
47128 @Override public int getRuleIndex() { return RULE_typePermission; }
47129 @Override
47130 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47131 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTypePermission(this);
47132 else return visitor.visitChildren(this);
47133 }
47134 }
47135
47136 public final TypePermissionContext typePermission() throws RecognitionException {
47137 TypePermissionContext _localctx = new TypePermissionContext(_ctx, getState());
47138 enterRule(_localctx, 900, RULE_typePermission);
47139 try {
47140 setState(6588);
47141 _errHandler.sync(this);
47142 switch (_input.LA(1)) {
47143 case CONTROL:
47144 enterOuterAlt(_localctx, 1);
47145 {
47146 setState(6581);
47147 match(CONTROL);
47148 }
47149 break;
47150 case EXECUTE:
47151 enterOuterAlt(_localctx, 2);
47152 {
47153 setState(6582);
47154 match(EXECUTE);
47155 }
47156 break;
47157 case REFERENCES:
47158 enterOuterAlt(_localctx, 3);
47159 {
47160 setState(6583);
47161 match(REFERENCES);
47162 }
47163 break;
47164 case TAKE:
47165 enterOuterAlt(_localctx, 4);
47166 {
47167 setState(6584);
47168 match(TAKE);
47169 setState(6585);
47170 match(OWNERSHIP);
47171 }
47172 break;
47173 case VIEW:
47174 enterOuterAlt(_localctx, 5);
47175 {
47176 setState(6586);
47177 match(VIEW);
47178 setState(6587);
47179 match(DEFINITION);
47180 }
47181 break;
47182 default:
47183 throw new NoViableAltException(this);
47184 }
47185 }
47186 catch (RecognitionException re) {
47187 _localctx.exception = re;
47188 _errHandler.reportError(this, re);
47189 _errHandler.recover(this, re);
47190 }
47191 finally {
47192 exitRule();
47193 }
47194 return _localctx;
47195 }
47196
47197 public static class XmlSchemaCollectionPermissionContext extends ParserRuleContext {
47198 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
47199 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
47200 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
47201 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
47202 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
47203 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
47204 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
47205 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
47206 public XmlSchemaCollectionPermissionContext(ParserRuleContext parent, int invokingState) {
47207 super(parent, invokingState);
47208 }
47209 @Override public int getRuleIndex() { return RULE_xmlSchemaCollectionPermission; }
47210 @Override
47211 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47212 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlSchemaCollectionPermission(this);
47213 else return visitor.visitChildren(this);
47214 }
47215 }
47216
47217 public final XmlSchemaCollectionPermissionContext xmlSchemaCollectionPermission() throws RecognitionException {
47218 XmlSchemaCollectionPermissionContext _localctx = new XmlSchemaCollectionPermissionContext(_ctx, getState());
47219 enterRule(_localctx, 902, RULE_xmlSchemaCollectionPermission);
47220 try {
47221 setState(6598);
47222 _errHandler.sync(this);
47223 switch (_input.LA(1)) {
47224 case ALTER:
47225 enterOuterAlt(_localctx, 1);
47226 {
47227 setState(6590);
47228 match(ALTER);
47229 }
47230 break;
47231 case CONTROL:
47232 enterOuterAlt(_localctx, 2);
47233 {
47234 setState(6591);
47235 match(CONTROL);
47236 }
47237 break;
47238 case EXECUTE:
47239 enterOuterAlt(_localctx, 3);
47240 {
47241 setState(6592);
47242 match(EXECUTE);
47243 }
47244 break;
47245 case REFERENCES:
47246 enterOuterAlt(_localctx, 4);
47247 {
47248 setState(6593);
47249 match(REFERENCES);
47250 }
47251 break;
47252 case TAKE:
47253 enterOuterAlt(_localctx, 5);
47254 {
47255 setState(6594);
47256 match(TAKE);
47257 setState(6595);
47258 match(OWNERSHIP);
47259 }
47260 break;
47261 case VIEW:
47262 enterOuterAlt(_localctx, 6);
47263 {
47264 setState(6596);
47265 match(VIEW);
47266 setState(6597);
47267 match(DEFINITION);
47268 }
47269 break;
47270 default:
47271 throw new NoViableAltException(this);
47272 }
47273 }
47274 catch (RecognitionException re) {
47275 _localctx.exception = re;
47276 _errHandler.reportError(this, re);
47277 _errHandler.recover(this, re);
47278 }
47279 finally {
47280 exitRule();
47281 }
47282 return _localctx;
47283 }
47284
47285 public static class SystemObjectPermissionContext extends ParserRuleContext {
47286 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
47287 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
47288 public SystemObjectPermissionContext(ParserRuleContext parent, int invokingState) {
47289 super(parent, invokingState);
47290 }
47291 @Override public int getRuleIndex() { return RULE_systemObjectPermission; }
47292 @Override
47293 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47294 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSystemObjectPermission(this);
47295 else return visitor.visitChildren(this);
47296 }
47297 }
47298
47299 public final SystemObjectPermissionContext systemObjectPermission() throws RecognitionException {
47300 SystemObjectPermissionContext _localctx = new SystemObjectPermissionContext(_ctx, getState());
47301 enterRule(_localctx, 904, RULE_systemObjectPermission);
47302 int _la;
47303 try {
47304 enterOuterAlt(_localctx, 1);
47305 {
47306 setState(6600);
47307 _la = _input.LA(1);
47308 if ( !(_la==SELECT || _la==EXECUTE) ) {
47309 _errHandler.recoverInline(this);
47310 }
47311 else {
47312 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
47313 _errHandler.reportMatch(this);
47314 consume();
47315 }
47316 }
47317 }
47318 catch (RecognitionException re) {
47319 _localctx.exception = re;
47320 _errHandler.reportError(this, re);
47321 _errHandler.recover(this, re);
47322 }
47323 finally {
47324 exitRule();
47325 }
47326 return _localctx;
47327 }
47328
47329 public static class Class_Context extends ParserRuleContext {
47330 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
47331 public List<TerminalNode> COLON_() { return getTokens(SQLServerStatementParser.COLON_); }
47332 public TerminalNode COLON_(int i) {
47333 return getToken(SQLServerStatementParser.COLON_, i);
47334 }
47335 public Class_Context(ParserRuleContext parent, int invokingState) {
47336 super(parent, invokingState);
47337 }
47338 @Override public int getRuleIndex() { return RULE_class_; }
47339 @Override
47340 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47341 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClass_(this);
47342 else return visitor.visitChildren(this);
47343 }
47344 }
47345
47346 public final Class_Context class_() throws RecognitionException {
47347 Class_Context _localctx = new Class_Context(_ctx, getState());
47348 enterRule(_localctx, 906, RULE_class_);
47349 try {
47350 enterOuterAlt(_localctx, 1);
47351 {
47352 setState(6602);
47353 match(IDENTIFIER_);
47354 setState(6603);
47355 match(COLON_);
47356 setState(6604);
47357 match(COLON_);
47358 }
47359 }
47360 catch (RecognitionException re) {
47361 _localctx.exception = re;
47362 _errHandler.reportError(this, re);
47363 _errHandler.recover(this, re);
47364 }
47365 finally {
47366 exitRule();
47367 }
47368 return _localctx;
47369 }
47370
47371 public static class ClassItemContext extends ParserRuleContext {
47372 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
47373 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
47374 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
47375 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
47376 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
47377 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
47378 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
47379 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
47380 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
47381 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
47382 public TerminalNode SCOPED() { return getToken(SQLServerStatementParser.SCOPED, 0); }
47383 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
47384 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
47385 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
47386 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
47387 public TerminalNode STOPLIST() { return getToken(SQLServerStatementParser.STOPLIST, 0); }
47388 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
47389 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
47390 public TerminalNode SEARCH() { return getToken(SQLServerStatementParser.SEARCH, 0); }
47391 public TerminalNode PROPERTY() { return getToken(SQLServerStatementParser.PROPERTY, 0); }
47392 public TerminalNode LIST() { return getToken(SQLServerStatementParser.LIST, 0); }
47393 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
47394 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
47395 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
47396 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
47397 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
47398 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
47399 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
47400 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
47401 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
47402 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
47403 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
47404 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
47405 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
47406 public TerminalNode COLLECTION() { return getToken(SQLServerStatementParser.COLLECTION, 0); }
47407 public ClassItemContext(ParserRuleContext parent, int invokingState) {
47408 super(parent, invokingState);
47409 }
47410 @Override public int getRuleIndex() { return RULE_classItem; }
47411 @Override
47412 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47413 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassItem(this);
47414 else return visitor.visitChildren(this);
47415 }
47416 }
47417
47418 public final ClassItemContext classItem() throws RecognitionException {
47419 ClassItemContext _localctx = new ClassItemContext(_ctx, getState());
47420 enterRule(_localctx, 908, RULE_classItem);
47421 int _la;
47422 try {
47423 setState(6646);
47424 _errHandler.sync(this);
47425 switch (_input.LA(1)) {
47426 case ASSEMBLY:
47427 enterOuterAlt(_localctx, 1);
47428 {
47429 setState(6606);
47430 match(ASSEMBLY);
47431 }
47432 break;
47433 case ASYMMETRIC:
47434 enterOuterAlt(_localctx, 2);
47435 {
47436 setState(6607);
47437 match(ASYMMETRIC);
47438 setState(6608);
47439 match(KEY);
47440 }
47441 break;
47442 case AVAILABILITY:
47443 enterOuterAlt(_localctx, 3);
47444 {
47445 setState(6609);
47446 match(AVAILABILITY);
47447 setState(6610);
47448 match(GROUP);
47449 }
47450 break;
47451 case CERTIFICATE:
47452 enterOuterAlt(_localctx, 4);
47453 {
47454 setState(6611);
47455 match(CERTIFICATE);
47456 }
47457 break;
47458 case USER:
47459 enterOuterAlt(_localctx, 5);
47460 {
47461 setState(6612);
47462 match(USER);
47463 }
47464 break;
47465 case ROLE:
47466 enterOuterAlt(_localctx, 6);
47467 {
47468 setState(6613);
47469 match(ROLE);
47470 }
47471 break;
47472 case APPLICATION:
47473 enterOuterAlt(_localctx, 7);
47474 {
47475 setState(6614);
47476 match(APPLICATION);
47477 setState(6615);
47478 match(ROLE);
47479 }
47480 break;
47481 case DATABASE:
47482 enterOuterAlt(_localctx, 8);
47483 {
47484 setState(6616);
47485 match(DATABASE);
47486 setState(6617);
47487 match(SCOPED);
47488 setState(6618);
47489 match(CREDENTIAL);
47490 }
47491 break;
47492 case ENDPOINT:
47493 enterOuterAlt(_localctx, 9);
47494 {
47495 setState(6619);
47496 match(ENDPOINT);
47497 }
47498 break;
47499 case FULLTEXT:
47500 enterOuterAlt(_localctx, 10);
47501 {
47502 setState(6620);
47503 match(FULLTEXT);
47504 setState(6621);
47505 _la = _input.LA(1);
47506 if ( !(_la==CATALOG || _la==STOPLIST) ) {
47507 _errHandler.recoverInline(this);
47508 }
47509 else {
47510 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
47511 _errHandler.reportMatch(this);
47512 consume();
47513 }
47514 }
47515 break;
47516 case OBJECT:
47517 enterOuterAlt(_localctx, 11);
47518 {
47519 setState(6622);
47520 match(OBJECT);
47521 }
47522 break;
47523 case SCHEMA:
47524 enterOuterAlt(_localctx, 12);
47525 {
47526 setState(6623);
47527 match(SCHEMA);
47528 }
47529 break;
47530 case SEARCH:
47531 enterOuterAlt(_localctx, 13);
47532 {
47533 setState(6624);
47534 match(SEARCH);
47535 setState(6625);
47536 match(PROPERTY);
47537 setState(6626);
47538 match(LIST);
47539 }
47540 break;
47541 case LOGIN:
47542 enterOuterAlt(_localctx, 14);
47543 {
47544 setState(6627);
47545 match(LOGIN);
47546 }
47547 break;
47548 case SERVER:
47549 enterOuterAlt(_localctx, 15);
47550 {
47551 setState(6628);
47552 match(SERVER);
47553 setState(6629);
47554 match(ROLE);
47555 }
47556 break;
47557 case CONTRACT:
47558 enterOuterAlt(_localctx, 16);
47559 {
47560 setState(6630);
47561 match(CONTRACT);
47562 }
47563 break;
47564 case MESSAGE:
47565 enterOuterAlt(_localctx, 17);
47566 {
47567 setState(6631);
47568 match(MESSAGE);
47569 setState(6632);
47570 match(TYPE);
47571 }
47572 break;
47573 case REMOTE:
47574 enterOuterAlt(_localctx, 18);
47575 {
47576 setState(6633);
47577 match(REMOTE);
47578 setState(6634);
47579 match(SERVICE);
47580 setState(6635);
47581 match(BINDING);
47582 }
47583 break;
47584 case ROUTE:
47585 enterOuterAlt(_localctx, 19);
47586 {
47587 setState(6636);
47588 match(ROUTE);
47589 }
47590 break;
47591 case SERVICE:
47592 enterOuterAlt(_localctx, 20);
47593 {
47594 setState(6637);
47595 match(SERVICE);
47596 }
47597 break;
47598 case SYMMETRIC:
47599 enterOuterAlt(_localctx, 21);
47600 {
47601 setState(6638);
47602 match(SYMMETRIC);
47603 setState(6639);
47604 match(KEY);
47605 }
47606 break;
47607 case SELECT:
47608 enterOuterAlt(_localctx, 22);
47609 {
47610 setState(6640);
47611 match(SELECT);
47612 }
47613 break;
47614 case EXECUTE:
47615 enterOuterAlt(_localctx, 23);
47616 {
47617 setState(6641);
47618 match(EXECUTE);
47619 }
47620 break;
47621 case TYPE:
47622 enterOuterAlt(_localctx, 24);
47623 {
47624 setState(6642);
47625 match(TYPE);
47626 }
47627 break;
47628 case XML:
47629 enterOuterAlt(_localctx, 25);
47630 {
47631 setState(6643);
47632 match(XML);
47633 setState(6644);
47634 match(SCHEMA);
47635 setState(6645);
47636 match(COLLECTION);
47637 }
47638 break;
47639 default:
47640 throw new NoViableAltException(this);
47641 }
47642 }
47643 catch (RecognitionException re) {
47644 _localctx.exception = re;
47645 _errHandler.reportError(this, re);
47646 _errHandler.recover(this, re);
47647 }
47648 finally {
47649 exitRule();
47650 }
47651 return _localctx;
47652 }
47653
47654 public static class ClassTypeContext extends ParserRuleContext {
47655 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
47656 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
47657 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
47658 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
47659 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
47660 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
47661 public ClassTypeContext(ParserRuleContext parent, int invokingState) {
47662 super(parent, invokingState);
47663 }
47664 @Override public int getRuleIndex() { return RULE_classType; }
47665 @Override
47666 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47667 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassType(this);
47668 else return visitor.visitChildren(this);
47669 }
47670 }
47671
47672 public final ClassTypeContext classType() throws RecognitionException {
47673 ClassTypeContext _localctx = new ClassTypeContext(_ctx, getState());
47674 enterRule(_localctx, 910, RULE_classType);
47675 int _la;
47676 try {
47677 enterOuterAlt(_localctx, 1);
47678 {
47679 setState(6648);
47680 _la = _input.LA(1);
47681 if ( !(_la==SCHEMA || ((((_la - 204)) & ~0x3f) == 0 && ((1L << (_la - 204)) & ((1L << (DATABASE - 204)) | (1L << (USER - 204)) | (1L << (ROLE - 204)))) != 0) || _la==LOGIN || _la==OBJECT) ) {
47682 _errHandler.recoverInline(this);
47683 }
47684 else {
47685 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
47686 _errHandler.reportMatch(this);
47687 consume();
47688 }
47689 }
47690 }
47691 catch (RecognitionException re) {
47692 _localctx.exception = re;
47693 _errHandler.reportError(this, re);
47694 _errHandler.recover(this, re);
47695 }
47696 finally {
47697 exitRule();
47698 }
47699 return _localctx;
47700 }
47701
47702 public static class RoleClauseContext extends ParserRuleContext {
47703 public IgnoredIdentifiersContext ignoredIdentifiers() {
47704 return getRuleContext(IgnoredIdentifiersContext.class,0);
47705 }
47706 public RoleClauseContext(ParserRuleContext parent, int invokingState) {
47707 super(parent, invokingState);
47708 }
47709 @Override public int getRuleIndex() { return RULE_roleClause; }
47710 @Override
47711 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47712 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRoleClause(this);
47713 else return visitor.visitChildren(this);
47714 }
47715 }
47716
47717 public final RoleClauseContext roleClause() throws RecognitionException {
47718 RoleClauseContext _localctx = new RoleClauseContext(_ctx, getState());
47719 enterRule(_localctx, 912, RULE_roleClause);
47720 try {
47721 enterOuterAlt(_localctx, 1);
47722 {
47723 setState(6650);
47724 ignoredIdentifiers();
47725 }
47726 }
47727 catch (RecognitionException re) {
47728 _localctx.exception = re;
47729 _errHandler.reportError(this, re);
47730 _errHandler.recover(this, re);
47731 }
47732 finally {
47733 exitRule();
47734 }
47735 return _localctx;
47736 }
47737
47738 public static class SetUserContext extends ParserRuleContext {
47739 public TerminalNode SETUSER() { return getToken(SQLServerStatementParser.SETUSER, 0); }
47740 public StringLiteralsContext stringLiterals() {
47741 return getRuleContext(StringLiteralsContext.class,0);
47742 }
47743 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
47744 public TerminalNode NORESET() { return getToken(SQLServerStatementParser.NORESET, 0); }
47745 public SetUserContext(ParserRuleContext parent, int invokingState) {
47746 super(parent, invokingState);
47747 }
47748 @Override public int getRuleIndex() { return RULE_setUser; }
47749 @Override
47750 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47751 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetUser(this);
47752 else return visitor.visitChildren(this);
47753 }
47754 }
47755
47756 public final SetUserContext setUser() throws RecognitionException {
47757 SetUserContext _localctx = new SetUserContext(_ctx, getState());
47758 enterRule(_localctx, 914, RULE_setUser);
47759 int _la;
47760 try {
47761 enterOuterAlt(_localctx, 1);
47762 {
47763 setState(6652);
47764 match(SETUSER);
47765 setState(6658);
47766 _errHandler.sync(this);
47767 _la = _input.LA(1);
47768 if (_la==STRING_ || _la==NCHAR_TEXT) {
47769 {
47770 setState(6653);
47771 stringLiterals();
47772 setState(6656);
47773 _errHandler.sync(this);
47774 _la = _input.LA(1);
47775 if (_la==WITH) {
47776 {
47777 setState(6654);
47778 match(WITH);
47779 setState(6655);
47780 match(NORESET);
47781 }
47782 }
47783
47784 }
47785 }
47786
47787 }
47788 }
47789 catch (RecognitionException re) {
47790 _localctx.exception = re;
47791 _errHandler.reportError(this, re);
47792 _errHandler.recover(this, re);
47793 }
47794 finally {
47795 exitRule();
47796 }
47797 return _localctx;
47798 }
47799
47800 public static class CreateUserContext extends ParserRuleContext {
47801 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
47802 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
47803 public CreateUserLoginClauseContext createUserLoginClause() {
47804 return getRuleContext(CreateUserLoginClauseContext.class,0);
47805 }
47806 public CreateUserWindowsPrincipalClauseContext createUserWindowsPrincipalClause() {
47807 return getRuleContext(CreateUserWindowsPrincipalClauseContext.class,0);
47808 }
47809 public CreateUserLoginWindowsPrincipalClauseContext createUserLoginWindowsPrincipalClause() {
47810 return getRuleContext(CreateUserLoginWindowsPrincipalClauseContext.class,0);
47811 }
47812 public CreateUserWithoutLoginClauseContext createUserWithoutLoginClause() {
47813 return getRuleContext(CreateUserWithoutLoginClauseContext.class,0);
47814 }
47815 public CreateUserFromExternalProviderClauseContext createUserFromExternalProviderClause() {
47816 return getRuleContext(CreateUserFromExternalProviderClauseContext.class,0);
47817 }
47818 public CreateUserWithDefaultSchemaContext createUserWithDefaultSchema() {
47819 return getRuleContext(CreateUserWithDefaultSchemaContext.class,0);
47820 }
47821 public CreateUserWithAzureActiveDirectoryPrincipalClauseContext createUserWithAzureActiveDirectoryPrincipalClause() {
47822 return getRuleContext(CreateUserWithAzureActiveDirectoryPrincipalClauseContext.class,0);
47823 }
47824 public UserNameContext userName() {
47825 return getRuleContext(UserNameContext.class,0);
47826 }
47827 public CreateUserContext(ParserRuleContext parent, int invokingState) {
47828 super(parent, invokingState);
47829 }
47830 @Override public int getRuleIndex() { return RULE_createUser; }
47831 @Override
47832 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47833 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUser(this);
47834 else return visitor.visitChildren(this);
47835 }
47836 }
47837
47838 public final CreateUserContext createUser() throws RecognitionException {
47839 CreateUserContext _localctx = new CreateUserContext(_ctx, getState());
47840 enterRule(_localctx, 916, RULE_createUser);
47841 try {
47842 enterOuterAlt(_localctx, 1);
47843 {
47844 setState(6660);
47845 match(CREATE);
47846 setState(6661);
47847 match(USER);
47848 setState(6670);
47849 _errHandler.sync(this);
47850 switch ( getInterpreter().adaptivePredict(_input,764,_ctx) ) {
47851 case 1:
47852 {
47853 setState(6662);
47854 createUserLoginClause();
47855 }
47856 break;
47857 case 2:
47858 {
47859 setState(6663);
47860 createUserWindowsPrincipalClause();
47861 }
47862 break;
47863 case 3:
47864 {
47865 setState(6664);
47866 createUserLoginWindowsPrincipalClause();
47867 }
47868 break;
47869 case 4:
47870 {
47871 setState(6665);
47872 createUserWithoutLoginClause();
47873 }
47874 break;
47875 case 5:
47876 {
47877 setState(6666);
47878 createUserFromExternalProviderClause();
47879 }
47880 break;
47881 case 6:
47882 {
47883 setState(6667);
47884 createUserWithDefaultSchema();
47885 }
47886 break;
47887 case 7:
47888 {
47889 setState(6668);
47890 createUserWithAzureActiveDirectoryPrincipalClause();
47891 }
47892 break;
47893 case 8:
47894 {
47895 setState(6669);
47896 userName();
47897 }
47898 break;
47899 }
47900 }
47901 }
47902 catch (RecognitionException re) {
47903 _localctx.exception = re;
47904 _errHandler.reportError(this, re);
47905 _errHandler.recover(this, re);
47906 }
47907 finally {
47908 exitRule();
47909 }
47910 return _localctx;
47911 }
47912
47913 public static class CreateUserLoginClauseContext extends ParserRuleContext {
47914 public UserNameContext userName() {
47915 return getRuleContext(UserNameContext.class,0);
47916 }
47917 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
47918 public IdentifierContext identifier() {
47919 return getRuleContext(IdentifierContext.class,0);
47920 }
47921 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
47922 public List<LimitedOptionsListContext> limitedOptionsList() {
47923 return getRuleContexts(LimitedOptionsListContext.class);
47924 }
47925 public LimitedOptionsListContext limitedOptionsList(int i) {
47926 return getRuleContext(LimitedOptionsListContext.class,i);
47927 }
47928 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
47929 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
47930 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
47931 public TerminalNode COMMA_(int i) {
47932 return getToken(SQLServerStatementParser.COMMA_, i);
47933 }
47934 public CreateUserLoginClauseContext(ParserRuleContext parent, int invokingState) {
47935 super(parent, invokingState);
47936 }
47937 @Override public int getRuleIndex() { return RULE_createUserLoginClause; }
47938 @Override
47939 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47940 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserLoginClause(this);
47941 else return visitor.visitChildren(this);
47942 }
47943 }
47944
47945 public final CreateUserLoginClauseContext createUserLoginClause() throws RecognitionException {
47946 CreateUserLoginClauseContext _localctx = new CreateUserLoginClauseContext(_ctx, getState());
47947 enterRule(_localctx, 918, RULE_createUserLoginClause);
47948 int _la;
47949 try {
47950 enterOuterAlt(_localctx, 1);
47951 {
47952 setState(6672);
47953 userName();
47954 setState(6676);
47955 _errHandler.sync(this);
47956 _la = _input.LA(1);
47957 if (_la==FROM || _la==FOR) {
47958 {
47959 setState(6673);
47960 _la = _input.LA(1);
47961 if ( !(_la==FROM || _la==FOR) ) {
47962 _errHandler.recoverInline(this);
47963 }
47964 else {
47965 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
47966 _errHandler.reportMatch(this);
47967 consume();
47968 }
47969 setState(6674);
47970 match(LOGIN);
47971 setState(6675);
47972 identifier();
47973 }
47974 }
47975
47976 setState(6687);
47977 _errHandler.sync(this);
47978 _la = _input.LA(1);
47979 if (_la==WITH) {
47980 {
47981 setState(6678);
47982 match(WITH);
47983 setState(6679);
47984 limitedOptionsList();
47985 setState(6684);
47986 _errHandler.sync(this);
47987 _la = _input.LA(1);
47988 while (_la==COMMA_) {
47989 {
47990 {
47991 setState(6680);
47992 match(COMMA_);
47993 setState(6681);
47994 limitedOptionsList();
47995 }
47996 }
47997 setState(6686);
47998 _errHandler.sync(this);
47999 _la = _input.LA(1);
48000 }
48001 }
48002 }
48003
48004 }
48005 }
48006 catch (RecognitionException re) {
48007 _localctx.exception = re;
48008 _errHandler.reportError(this, re);
48009 _errHandler.recover(this, re);
48010 }
48011 finally {
48012 exitRule();
48013 }
48014 return _localctx;
48015 }
48016
48017 public static class CreateUserWindowsPrincipalClauseContext extends ParserRuleContext {
48018 public WindowsPrincipalContext windowsPrincipal() {
48019 return getRuleContext(WindowsPrincipalContext.class,0);
48020 }
48021 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
48022 public List<OptionsListContext> optionsList() {
48023 return getRuleContexts(OptionsListContext.class);
48024 }
48025 public OptionsListContext optionsList(int i) {
48026 return getRuleContext(OptionsListContext.class,i);
48027 }
48028 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
48029 public TerminalNode COMMA_(int i) {
48030 return getToken(SQLServerStatementParser.COMMA_, i);
48031 }
48032 public UserNameContext userName() {
48033 return getRuleContext(UserNameContext.class,0);
48034 }
48035 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
48036 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
48037 public StringLiteralsContext stringLiterals() {
48038 return getRuleContext(StringLiteralsContext.class,0);
48039 }
48040 public AzureActiveDirectoryPrincipalContext azureActiveDirectoryPrincipal() {
48041 return getRuleContext(AzureActiveDirectoryPrincipalContext.class,0);
48042 }
48043 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
48044 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
48045 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
48046 public CreateUserWindowsPrincipalClauseContext(ParserRuleContext parent, int invokingState) {
48047 super(parent, invokingState);
48048 }
48049 @Override public int getRuleIndex() { return RULE_createUserWindowsPrincipalClause; }
48050 @Override
48051 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48052 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWindowsPrincipalClause(this);
48053 else return visitor.visitChildren(this);
48054 }
48055 }
48056
48057 public final CreateUserWindowsPrincipalClauseContext createUserWindowsPrincipalClause() throws RecognitionException {
48058 CreateUserWindowsPrincipalClauseContext _localctx = new CreateUserWindowsPrincipalClauseContext(_ctx, getState());
48059 enterRule(_localctx, 920, RULE_createUserWindowsPrincipalClause);
48060 int _la;
48061 try {
48062 setState(6722);
48063 _errHandler.sync(this);
48064 switch ( getInterpreter().adaptivePredict(_input,772,_ctx) ) {
48065 case 1:
48066 enterOuterAlt(_localctx, 1);
48067 {
48068 setState(6689);
48069 windowsPrincipal();
48070 setState(6699);
48071 _errHandler.sync(this);
48072 _la = _input.LA(1);
48073 if (_la==WITH) {
48074 {
48075 setState(6690);
48076 match(WITH);
48077 setState(6691);
48078 optionsList();
48079 setState(6696);
48080 _errHandler.sync(this);
48081 _la = _input.LA(1);
48082 while (_la==COMMA_) {
48083 {
48084 {
48085 setState(6692);
48086 match(COMMA_);
48087 setState(6693);
48088 optionsList();
48089 }
48090 }
48091 setState(6698);
48092 _errHandler.sync(this);
48093 _la = _input.LA(1);
48094 }
48095 }
48096 }
48097
48098 }
48099 break;
48100 case 2:
48101 enterOuterAlt(_localctx, 2);
48102 {
48103 setState(6701);
48104 userName();
48105 setState(6702);
48106 match(WITH);
48107 setState(6703);
48108 match(PASSWORD);
48109 setState(6704);
48110 match(EQ_);
48111 setState(6705);
48112 stringLiterals();
48113 setState(6715);
48114 _errHandler.sync(this);
48115 _la = _input.LA(1);
48116 if (_la==COMMA_) {
48117 {
48118 setState(6706);
48119 match(COMMA_);
48120 setState(6707);
48121 optionsList();
48122 setState(6712);
48123 _errHandler.sync(this);
48124 _la = _input.LA(1);
48125 while (_la==COMMA_) {
48126 {
48127 {
48128 setState(6708);
48129 match(COMMA_);
48130 setState(6709);
48131 optionsList();
48132 }
48133 }
48134 setState(6714);
48135 _errHandler.sync(this);
48136 _la = _input.LA(1);
48137 }
48138 }
48139 }
48140
48141 }
48142 break;
48143 case 3:
48144 enterOuterAlt(_localctx, 3);
48145 {
48146 setState(6717);
48147 azureActiveDirectoryPrincipal();
48148 setState(6718);
48149 match(FROM);
48150 setState(6719);
48151 match(EXTERNAL);
48152 setState(6720);
48153 match(PROVIDER);
48154 }
48155 break;
48156 }
48157 }
48158 catch (RecognitionException re) {
48159 _localctx.exception = re;
48160 _errHandler.reportError(this, re);
48161 _errHandler.recover(this, re);
48162 }
48163 finally {
48164 exitRule();
48165 }
48166 return _localctx;
48167 }
48168
48169 public static class CreateUserLoginWindowsPrincipalClauseContext extends ParserRuleContext {
48170 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
48171 public List<LimitedOptionsListContext> limitedOptionsList() {
48172 return getRuleContexts(LimitedOptionsListContext.class);
48173 }
48174 public LimitedOptionsListContext limitedOptionsList(int i) {
48175 return getRuleContext(LimitedOptionsListContext.class,i);
48176 }
48177 public List<WindowsPrincipalContext> windowsPrincipal() {
48178 return getRuleContexts(WindowsPrincipalContext.class);
48179 }
48180 public WindowsPrincipalContext windowsPrincipal(int i) {
48181 return getRuleContext(WindowsPrincipalContext.class,i);
48182 }
48183 public UserNameContext userName() {
48184 return getRuleContext(UserNameContext.class,0);
48185 }
48186 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
48187 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
48188 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
48189 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
48190 public TerminalNode COMMA_(int i) {
48191 return getToken(SQLServerStatementParser.COMMA_, i);
48192 }
48193 public CreateUserLoginWindowsPrincipalClauseContext(ParserRuleContext parent, int invokingState) {
48194 super(parent, invokingState);
48195 }
48196 @Override public int getRuleIndex() { return RULE_createUserLoginWindowsPrincipalClause; }
48197 @Override
48198 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48199 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserLoginWindowsPrincipalClause(this);
48200 else return visitor.visitChildren(this);
48201 }
48202 }
48203
48204 public final CreateUserLoginWindowsPrincipalClauseContext createUserLoginWindowsPrincipalClause() throws RecognitionException {
48205 CreateUserLoginWindowsPrincipalClauseContext _localctx = new CreateUserLoginWindowsPrincipalClauseContext(_ctx, getState());
48206 enterRule(_localctx, 922, RULE_createUserLoginWindowsPrincipalClause);
48207 int _la;
48208 try {
48209 enterOuterAlt(_localctx, 1);
48210 {
48211 setState(6735);
48212 _errHandler.sync(this);
48213 switch ( getInterpreter().adaptivePredict(_input,774,_ctx) ) {
48214 case 1:
48215 {
48216 {
48217 setState(6724);
48218 windowsPrincipal();
48219 setState(6728);
48220 _errHandler.sync(this);
48221 _la = _input.LA(1);
48222 if (_la==FROM || _la==FOR) {
48223 {
48224 setState(6725);
48225 _la = _input.LA(1);
48226 if ( !(_la==FROM || _la==FOR) ) {
48227 _errHandler.recoverInline(this);
48228 }
48229 else {
48230 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
48231 _errHandler.reportMatch(this);
48232 consume();
48233 }
48234 setState(6726);
48235 match(LOGIN);
48236 setState(6727);
48237 windowsPrincipal();
48238 }
48239 }
48240
48241 }
48242 }
48243 break;
48244 case 2:
48245 {
48246 {
48247 setState(6730);
48248 userName();
48249 setState(6731);
48250 _la = _input.LA(1);
48251 if ( !(_la==FROM || _la==FOR) ) {
48252 _errHandler.recoverInline(this);
48253 }
48254 else {
48255 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
48256 _errHandler.reportMatch(this);
48257 consume();
48258 }
48259 setState(6732);
48260 match(LOGIN);
48261 setState(6733);
48262 windowsPrincipal();
48263 }
48264 }
48265 break;
48266 }
48267 setState(6746);
48268 _errHandler.sync(this);
48269 _la = _input.LA(1);
48270 if (_la==WITH) {
48271 {
48272 setState(6737);
48273 match(WITH);
48274 setState(6738);
48275 limitedOptionsList();
48276 setState(6743);
48277 _errHandler.sync(this);
48278 _la = _input.LA(1);
48279 while (_la==COMMA_) {
48280 {
48281 {
48282 setState(6739);
48283 match(COMMA_);
48284 setState(6740);
48285 limitedOptionsList();
48286 }
48287 }
48288 setState(6745);
48289 _errHandler.sync(this);
48290 _la = _input.LA(1);
48291 }
48292 }
48293 }
48294
48295 }
48296 }
48297 catch (RecognitionException re) {
48298 _localctx.exception = re;
48299 _errHandler.reportError(this, re);
48300 _errHandler.recover(this, re);
48301 }
48302 finally {
48303 exitRule();
48304 }
48305 return _localctx;
48306 }
48307
48308 public static class CreateUserWithoutLoginClauseContext extends ParserRuleContext {
48309 public UserNameContext userName() {
48310 return getRuleContext(UserNameContext.class,0);
48311 }
48312 public TerminalNode WITHOUT() { return getToken(SQLServerStatementParser.WITHOUT, 0); }
48313 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
48314 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
48315 public IdentifierContext identifier() {
48316 return getRuleContext(IdentifierContext.class,0);
48317 }
48318 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
48319 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
48320 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
48321 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
48322 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
48323 public List<LimitedOptionsListContext> limitedOptionsList() {
48324 return getRuleContexts(LimitedOptionsListContext.class);
48325 }
48326 public LimitedOptionsListContext limitedOptionsList(int i) {
48327 return getRuleContext(LimitedOptionsListContext.class,i);
48328 }
48329 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
48330 public TerminalNode COMMA_(int i) {
48331 return getToken(SQLServerStatementParser.COMMA_, i);
48332 }
48333 public CreateUserWithoutLoginClauseContext(ParserRuleContext parent, int invokingState) {
48334 super(parent, invokingState);
48335 }
48336 @Override public int getRuleIndex() { return RULE_createUserWithoutLoginClause; }
48337 @Override
48338 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48339 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWithoutLoginClause(this);
48340 else return visitor.visitChildren(this);
48341 }
48342 }
48343
48344 public final CreateUserWithoutLoginClauseContext createUserWithoutLoginClause() throws RecognitionException {
48345 CreateUserWithoutLoginClauseContext _localctx = new CreateUserWithoutLoginClauseContext(_ctx, getState());
48346 enterRule(_localctx, 924, RULE_createUserWithoutLoginClause);
48347 int _la;
48348 try {
48349 enterOuterAlt(_localctx, 1);
48350 {
48351 setState(6748);
48352 userName();
48353 setState(6769);
48354 _errHandler.sync(this);
48355 switch ( getInterpreter().adaptivePredict(_input,779,_ctx) ) {
48356 case 1:
48357 {
48358 setState(6749);
48359 match(WITHOUT);
48360 setState(6750);
48361 match(LOGIN);
48362 setState(6760);
48363 _errHandler.sync(this);
48364 _la = _input.LA(1);
48365 if (_la==WITH) {
48366 {
48367 setState(6751);
48368 match(WITH);
48369 setState(6752);
48370 limitedOptionsList();
48371 setState(6757);
48372 _errHandler.sync(this);
48373 _la = _input.LA(1);
48374 while (_la==COMMA_) {
48375 {
48376 {
48377 setState(6753);
48378 match(COMMA_);
48379 setState(6754);
48380 limitedOptionsList();
48381 }
48382 }
48383 setState(6759);
48384 _errHandler.sync(this);
48385 _la = _input.LA(1);
48386 }
48387 }
48388 }
48389
48390 }
48391 break;
48392 case 2:
48393 {
48394 setState(6762);
48395 _la = _input.LA(1);
48396 if ( !(_la==FROM || _la==FOR) ) {
48397 _errHandler.recoverInline(this);
48398 }
48399 else {
48400 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
48401 _errHandler.reportMatch(this);
48402 consume();
48403 }
48404 setState(6763);
48405 match(CERTIFICATE);
48406 setState(6764);
48407 identifier();
48408 }
48409 break;
48410 case 3:
48411 {
48412 setState(6765);
48413 _la = _input.LA(1);
48414 if ( !(_la==FROM || _la==FOR) ) {
48415 _errHandler.recoverInline(this);
48416 }
48417 else {
48418 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
48419 _errHandler.reportMatch(this);
48420 consume();
48421 }
48422 setState(6766);
48423 match(ASYMMETRIC);
48424 setState(6767);
48425 match(KEY);
48426 setState(6768);
48427 identifier();
48428 }
48429 break;
48430 }
48431 }
48432 }
48433 catch (RecognitionException re) {
48434 _localctx.exception = re;
48435 _errHandler.reportError(this, re);
48436 _errHandler.recover(this, re);
48437 }
48438 finally {
48439 exitRule();
48440 }
48441 return _localctx;
48442 }
48443
48444 public static class OptionsListContext extends ParserRuleContext {
48445 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
48446 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
48447 public SchemaNameContext schemaName() {
48448 return getRuleContext(SchemaNameContext.class,0);
48449 }
48450 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
48451 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
48452 public IdentifierContext identifier() {
48453 return getRuleContext(IdentifierContext.class,0);
48454 }
48455 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
48456 public SidContext sid() {
48457 return getRuleContext(SidContext.class,0);
48458 }
48459 public TerminalNode ALLOW_ENCRYPTED_VALUE_MODIFICATIONS() { return getToken(SQLServerStatementParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, 0); }
48460 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
48461 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
48462 public OptionsListContext(ParserRuleContext parent, int invokingState) {
48463 super(parent, invokingState);
48464 }
48465 @Override public int getRuleIndex() { return RULE_optionsList; }
48466 @Override
48467 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48468 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOptionsList(this);
48469 else return visitor.visitChildren(this);
48470 }
48471 }
48472
48473 public final OptionsListContext optionsList() throws RecognitionException {
48474 OptionsListContext _localctx = new OptionsListContext(_ctx, getState());
48475 enterRule(_localctx, 926, RULE_optionsList);
48476 int _la;
48477 try {
48478 setState(6788);
48479 _errHandler.sync(this);
48480 switch (_input.LA(1)) {
48481 case DEFAULT_SCHEMA:
48482 enterOuterAlt(_localctx, 1);
48483 {
48484 setState(6771);
48485 match(DEFAULT_SCHEMA);
48486 setState(6772);
48487 match(EQ_);
48488 setState(6773);
48489 schemaName();
48490 }
48491 break;
48492 case DEFAULT_LANGUAGE:
48493 enterOuterAlt(_localctx, 2);
48494 {
48495 setState(6774);
48496 match(DEFAULT_LANGUAGE);
48497 setState(6775);
48498 match(EQ_);
48499 setState(6778);
48500 _errHandler.sync(this);
48501 switch (_input.LA(1)) {
48502 case NONE:
48503 {
48504 setState(6776);
48505 match(NONE);
48506 }
48507 break;
48508 case TRUNCATE:
48509 case SCHEMA:
48510 case COLUMNS:
48511 case PRECISION:
48512 case FUNCTION:
48513 case TRIGGER:
48514 case CAST:
48515 case TRIM:
48516 case SUBSTRING:
48517 case OFF:
48518 case GROUP:
48519 case LIMIT:
48520 case OFFSET:
48521 case SAVEPOINT:
48522 case BOOLEAN:
48523 case ARRAY:
48524 case DATE:
48525 case TIMESTAMP:
48526 case LOCALTIME:
48527 case LOCALTIMESTAMP:
48528 case YEAR:
48529 case QUARTER:
48530 case MONTH:
48531 case WEEK:
48532 case DAY:
48533 case SECOND:
48534 case MICROSECOND:
48535 case MAX:
48536 case MIN:
48537 case SUM:
48538 case COUNT:
48539 case AVG:
48540 case ENABLE:
48541 case DISABLE:
48542 case INSTANCE:
48543 case DO:
48544 case DEFINER:
48545 case SQL:
48546 case CASCADED:
48547 case LOCAL:
48548 case NEXT:
48549 case NAME:
48550 case INTEGER:
48551 case TYPE:
48552 case TEXT:
48553 case VIEWS:
48554 case READ_ONLY:
48555 case DATABASE:
48556 case RETURNS:
48557 case DATEPART:
48558 case PASSWORD:
48559 case BINARY:
48560 case HIDDEN_:
48561 case MOD:
48562 case PARTITION:
48563 case PARTITIONS:
48564 case TOP:
48565 case ROW:
48566 case ROWS:
48567 case XOR:
48568 case ALWAYS:
48569 case ROLE:
48570 case START:
48571 case ALGORITHM:
48572 case AUTO:
48573 case BLOCKERS:
48574 case CLUSTERED:
48575 case NONCLUSTERED:
48576 case COLUMNSTORE:
48577 case CONTENT:
48578 case YEARS:
48579 case MONTHS:
48580 case WEEKS:
48581 case DAYS:
48582 case MINUTES:
48583 case DENY:
48584 case DETERMINISTIC:
48585 case DISTRIBUTION:
48586 case DOCUMENT:
48587 case DURABILITY:
48588 case ENCRYPTED:
48589 case FILESTREAM:
48590 case FILETABLE:
48591 case FILLFACTOR:
48592 case FOLLOWING:
48593 case HASH:
48594 case HEAP:
48595 case INBOUND:
48596 case OUTBOUND:
48597 case UNBOUNDED:
48598 case INFINITE:
48599 case LOGIN:
48600 case MASKED:
48601 case MAXDOP:
48602 case MOVE:
48603 case NOCHECK:
48604 case OBJECT:
48605 case ONLINE:
48606 case OVER:
48607 case PAGE:
48608 case PAUSED:
48609 case PERIOD:
48610 case PERSISTED:
48611 case PRECEDING:
48612 case RANDOMIZED:
48613 case RANGE:
48614 case REBUILD:
48615 case REPLICATE:
48616 case REPLICATION:
48617 case RESUMABLE:
48618 case ROWGUIDCOL:
48619 case SAVE:
48620 case SELF:
48621 case SPARSE:
48622 case SWITCH:
48623 case TRAN:
48624 case TRANCOUNT:
48625 case CONTROL:
48626 case CONCAT:
48627 case TAKE:
48628 case OWNERSHIP:
48629 case DEFINITION:
48630 case APPLICATION:
48631 case ASSEMBLY:
48632 case SYMMETRIC:
48633 case ASYMMETRIC:
48634 case SERVER:
48635 case RECEIVE:
48636 case CHANGE:
48637 case TRACE:
48638 case TRACKING:
48639 case RESOURCES:
48640 case SETTINGS:
48641 case STATE:
48642 case AVAILABILITY:
48643 case CREDENTIAL:
48644 case ENDPOINT:
48645 case EVENT:
48646 case NOTIFICATION:
48647 case LINKED:
48648 case AUDIT:
48649 case DDL:
48650 case XML:
48651 case IMPERSONATE:
48652 case SECURABLES:
48653 case AUTHENTICATE:
48654 case EXTERNAL:
48655 case ACCESS:
48656 case ADMINISTER:
48657 case BULK:
48658 case OPERATIONS:
48659 case UNSAFE:
48660 case SHUTDOWN:
48661 case SCOPED:
48662 case CONFIGURATION:
48663 case DATASPACE:
48664 case SERVICE:
48665 case CERTIFICATE:
48666 case CONTRACT:
48667 case ENCRYPTION:
48668 case MASTER:
48669 case DATA:
48670 case SOURCE:
48671 case FILE:
48672 case FORMAT:
48673 case LIBRARY:
48674 case FULLTEXT:
48675 case MASK:
48676 case UNMASK:
48677 case MESSAGE:
48678 case REMOTE:
48679 case BINDING:
48680 case ROUTE:
48681 case SECURITY:
48682 case POLICY:
48683 case AGGREGATE:
48684 case QUEUE:
48685 case RULE:
48686 case SYNONYM:
48687 case COLLECTION:
48688 case SCRIPT:
48689 case KILL:
48690 case BACKUP:
48691 case LOG:
48692 case SHOWPLAN:
48693 case SUBSCRIBE:
48694 case QUERY:
48695 case NOTIFICATIONS:
48696 case CHECKPOINT:
48697 case SEQUENCE:
48698 case ABORT_AFTER_WAIT:
48699 case ALLOW_PAGE_LOCKS:
48700 case ALLOW_ROW_LOCKS:
48701 case ALL_SPARSE_COLUMNS:
48702 case BUCKET_COUNT:
48703 case COLUMNSTORE_ARCHIVE:
48704 case COLUMN_ENCRYPTION_KEY:
48705 case COLUMN_SET:
48706 case COMPRESSION_DELAY:
48707 case DATABASE_DEAULT:
48708 case DATA_COMPRESSION:
48709 case DATA_CONSISTENCY_CHECK:
48710 case ENCRYPTION_TYPE:
48711 case SYSTEM_TIME:
48712 case SYSTEM_VERSIONING:
48713 case TEXTIMAGE_ON:
48714 case WAIT_AT_LOW_PRIORITY:
48715 case STATISTICS_INCREMENTAL:
48716 case STATISTICS_NORECOMPUTE:
48717 case ROUND_ROBIN:
48718 case SCHEMA_AND_DATA:
48719 case SCHEMA_ONLY:
48720 case SORT_IN_TEMPDB:
48721 case IGNORE_DUP_KEY:
48722 case IMPLICIT_TRANSACTIONS:
48723 case MAX_DURATION:
48724 case MEMORY_OPTIMIZED:
48725 case MIGRATION_STATE:
48726 case PAD_INDEX:
48727 case REMOTE_DATA_ARCHIVE:
48728 case FILESTREAM_ON:
48729 case FILETABLE_COLLATE_FILENAME:
48730 case FILETABLE_DIRECTORY:
48731 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
48732 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
48733 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
48734 case FILTER_PREDICATE:
48735 case HISTORY_RETENTION_PERIOD:
48736 case HISTORY_TABLE:
48737 case LOCK_ESCALATION:
48738 case DROP_EXISTING:
48739 case ROW_NUMBER:
48740 case FIRST:
48741 case DATETIME2:
48742 case OUTPUT:
48743 case INSERTED:
48744 case DELETED:
48745 case FILENAME:
48746 case SIZE:
48747 case MAXSIZE:
48748 case FILEGROWTH:
48749 case UNLIMITED:
48750 case KB:
48751 case MB:
48752 case GB:
48753 case TB:
48754 case CONTAINS:
48755 case MEMORY_OPTIMIZED_DATA:
48756 case FILEGROUP:
48757 case NON_TRANSACTED_ACCESS:
48758 case DB_CHAINING:
48759 case TRUSTWORTHY:
48760 case FORWARD_ONLY:
48761 case KEYSET:
48762 case FAST_FORWARD:
48763 case SCROLL_LOCKS:
48764 case OPTIMISTIC:
48765 case TYPE_WARNING:
48766 case SCHEMABINDING:
48767 case CALLER:
48768 case INPUT:
48769 case OWNER:
48770 case SNAPSHOT:
48771 case REPEATABLE:
48772 case SERIALIZABLE:
48773 case NATIVE_COMPILATION:
48774 case VIEW_METADATA:
48775 case INSTEAD:
48776 case APPEND:
48777 case INCREMENT:
48778 case CACHE:
48779 case MINVALUE:
48780 case MAXVALUE:
48781 case RESTART:
48782 case LOB_COMPACTION:
48783 case COMPRESS_ALL_ROW_GROUPS:
48784 case REORGANIZE:
48785 case RESUME:
48786 case PAUSE:
48787 case ABORT:
48788 case ACCELERATED_DATABASE_RECOVERY:
48789 case PERSISTENT_VERSION_STORE_FILEGROUP:
48790 case IMMEDIATE:
48791 case NO_WAIT:
48792 case TARGET_RECOVERY_TIME:
48793 case SECONDS:
48794 case HONOR_BROKER_PRIORITY:
48795 case ERROR_BROKER_CONVERSATIONS:
48796 case NEW_BROKER:
48797 case DISABLE_BROKER:
48798 case ENABLE_BROKER:
48799 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
48800 case READ_COMMITTED_SNAPSHOT:
48801 case ALLOW_SNAPSHOT_ISOLATION:
48802 case RECURSIVE_TRIGGERS:
48803 case QUOTED_IDENTIFIER:
48804 case NUMERIC_ROUNDABORT:
48805 case CONCAT_NULL_YIELDS_NULL:
48806 case COMPATIBILITY_LEVEL:
48807 case ARITHABORT:
48808 case ANSI_WARNINGS:
48809 case ANSI_PADDING:
48810 case ANSI_NULLS:
48811 case ANSI_NULL_DEFAULT:
48812 case PAGE_VERIFY:
48813 case CHECKSUM:
48814 case TORN_PAGE_DETECTION:
48815 case BULK_LOGGED:
48816 case RECOVERY:
48817 case TOTAL_EXECUTION_CPU_TIME_MS:
48818 case TOTAL_COMPILE_CPU_TIME_MS:
48819 case STALE_CAPTURE_POLICY_THRESHOLD:
48820 case EXECUTION_COUNT:
48821 case QUERY_CAPTURE_POLICY:
48822 case WAIT_STATS_CAPTURE_MODE:
48823 case MAX_PLANS_PER_QUERY:
48824 case QUERY_CAPTURE_MODE:
48825 case SIZE_BASED_CLEANUP_MODE:
48826 case INTERVAL_LENGTH_MINUTES:
48827 case MAX_STORAGE_SIZE_MB:
48828 case DATA_FLUSH_INTERVAL_SECONDS:
48829 case CLEANUP_POLICY:
48830 case CUSTOM:
48831 case STALE_QUERY_THRESHOLD_DAYS:
48832 case OPERATION_MODE:
48833 case QUERY_STORE:
48834 case CURSOR_DEFAULT:
48835 case GLOBAL:
48836 case CURSOR_CLOSE_ON_COMMIT:
48837 case HOURS:
48838 case CHANGE_RETENTION:
48839 case AUTO_CLEANUP:
48840 case CHANGE_TRACKING:
48841 case AUTOMATIC_TUNING:
48842 case FORCE_LAST_GOOD_PLAN:
48843 case AUTO_UPDATE_STATISTICS_ASYNC:
48844 case AUTO_UPDATE_STATISTICS:
48845 case AUTO_SHRINK:
48846 case AUTO_CREATE_STATISTICS:
48847 case INCREMENTAL:
48848 case AUTO_CLOSE:
48849 case DATA_RETENTION:
48850 case TEMPORAL_HISTORY_RETENTION:
48851 case EDITION:
48852 case MIXED_PAGE_ALLOCATION:
48853 case DISABLED:
48854 case ALLOWED:
48855 case HADR:
48856 case MULTI_USER:
48857 case RESTRICTED_USER:
48858 case SINGLE_USER:
48859 case OFFLINE:
48860 case EMERGENCY:
48861 case SUSPEND:
48862 case DATE_CORRELATION_OPTIMIZATION:
48863 case ELASTIC_POOL:
48864 case SERVICE_OBJECTIVE:
48865 case DATABASE_NAME:
48866 case ALLOW_CONNECTIONS:
48867 case GEO:
48868 case NAMED:
48869 case DATEFIRST:
48870 case BACKUP_STORAGE_REDUNDANCY:
48871 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
48872 case SECONDARY:
48873 case FAILOVER:
48874 case DEFAULT_FULLTEXT_LANGUAGE:
48875 case DEFAULT_LANGUAGE:
48876 case INLINE:
48877 case NESTED_TRIGGERS:
48878 case TRANSFORM_NOISE_WORDS:
48879 case TWO_DIGIT_YEAR_CUTOFF:
48880 case PERSISTENT_LOG_BUFFER:
48881 case DIRECTORY_NAME:
48882 case DATEFORMAT:
48883 case DELAYED_DURABILITY:
48884 case AUTHORIZATION:
48885 case TRANSFER:
48886 case PROVIDER:
48887 case SEARCH:
48888 case MEMBER:
48889 case IDENTIFIER_:
48890 case DELIMITED_IDENTIFIER_:
48891 {
48892 setState(6777);
48893 identifier();
48894 }
48895 break;
48896 default:
48897 throw new NoViableAltException(this);
48898 }
48899 }
48900 break;
48901 case SID:
48902 enterOuterAlt(_localctx, 3);
48903 {
48904 setState(6780);
48905 match(SID);
48906 setState(6781);
48907 match(EQ_);
48908 setState(6782);
48909 sid();
48910 }
48911 break;
48912 case ALLOW_ENCRYPTED_VALUE_MODIFICATIONS:
48913 enterOuterAlt(_localctx, 4);
48914 {
48915 setState(6783);
48916 match(ALLOW_ENCRYPTED_VALUE_MODIFICATIONS);
48917 setState(6784);
48918 match(EQ_);
48919 setState(6786);
48920 _errHandler.sync(this);
48921 _la = _input.LA(1);
48922 if (_la==ON || _la==OFF) {
48923 {
48924 setState(6785);
48925 _la = _input.LA(1);
48926 if ( !(_la==ON || _la==OFF) ) {
48927 _errHandler.recoverInline(this);
48928 }
48929 else {
48930 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
48931 _errHandler.reportMatch(this);
48932 consume();
48933 }
48934 }
48935 }
48936
48937 }
48938 break;
48939 default:
48940 throw new NoViableAltException(this);
48941 }
48942 }
48943 catch (RecognitionException re) {
48944 _localctx.exception = re;
48945 _errHandler.reportError(this, re);
48946 _errHandler.recover(this, re);
48947 }
48948 finally {
48949 exitRule();
48950 }
48951 return _localctx;
48952 }
48953
48954 public static class LimitedOptionsListContext extends ParserRuleContext {
48955 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
48956 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
48957 public SchemaNameContext schemaName() {
48958 return getRuleContext(SchemaNameContext.class,0);
48959 }
48960 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
48961 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
48962 public IdentifierContext identifier() {
48963 return getRuleContext(IdentifierContext.class,0);
48964 }
48965 public TerminalNode ALLOW_ENCRYPTED_VALUE_MODIFICATIONS() { return getToken(SQLServerStatementParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, 0); }
48966 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
48967 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
48968 public LimitedOptionsListContext(ParserRuleContext parent, int invokingState) {
48969 super(parent, invokingState);
48970 }
48971 @Override public int getRuleIndex() { return RULE_limitedOptionsList; }
48972 @Override
48973 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48974 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitLimitedOptionsList(this);
48975 else return visitor.visitChildren(this);
48976 }
48977 }
48978
48979 public final LimitedOptionsListContext limitedOptionsList() throws RecognitionException {
48980 LimitedOptionsListContext _localctx = new LimitedOptionsListContext(_ctx, getState());
48981 enterRule(_localctx, 928, RULE_limitedOptionsList);
48982 int _la;
48983 try {
48984 setState(6804);
48985 _errHandler.sync(this);
48986 switch (_input.LA(1)) {
48987 case DEFAULT_SCHEMA:
48988 enterOuterAlt(_localctx, 1);
48989 {
48990 setState(6790);
48991 match(DEFAULT_SCHEMA);
48992 setState(6791);
48993 match(EQ_);
48994 setState(6792);
48995 schemaName();
48996 }
48997 break;
48998 case DEFAULT_LANGUAGE:
48999 enterOuterAlt(_localctx, 2);
49000 {
49001 setState(6793);
49002 match(DEFAULT_LANGUAGE);
49003 setState(6794);
49004 match(EQ_);
49005 setState(6797);
49006 _errHandler.sync(this);
49007 switch (_input.LA(1)) {
49008 case NONE:
49009 {
49010 setState(6795);
49011 match(NONE);
49012 }
49013 break;
49014 case TRUNCATE:
49015 case SCHEMA:
49016 case COLUMNS:
49017 case PRECISION:
49018 case FUNCTION:
49019 case TRIGGER:
49020 case CAST:
49021 case TRIM:
49022 case SUBSTRING:
49023 case OFF:
49024 case GROUP:
49025 case LIMIT:
49026 case OFFSET:
49027 case SAVEPOINT:
49028 case BOOLEAN:
49029 case ARRAY:
49030 case DATE:
49031 case TIMESTAMP:
49032 case LOCALTIME:
49033 case LOCALTIMESTAMP:
49034 case YEAR:
49035 case QUARTER:
49036 case MONTH:
49037 case WEEK:
49038 case DAY:
49039 case SECOND:
49040 case MICROSECOND:
49041 case MAX:
49042 case MIN:
49043 case SUM:
49044 case COUNT:
49045 case AVG:
49046 case ENABLE:
49047 case DISABLE:
49048 case INSTANCE:
49049 case DO:
49050 case DEFINER:
49051 case SQL:
49052 case CASCADED:
49053 case LOCAL:
49054 case NEXT:
49055 case NAME:
49056 case INTEGER:
49057 case TYPE:
49058 case TEXT:
49059 case VIEWS:
49060 case READ_ONLY:
49061 case DATABASE:
49062 case RETURNS:
49063 case DATEPART:
49064 case PASSWORD:
49065 case BINARY:
49066 case HIDDEN_:
49067 case MOD:
49068 case PARTITION:
49069 case PARTITIONS:
49070 case TOP:
49071 case ROW:
49072 case ROWS:
49073 case XOR:
49074 case ALWAYS:
49075 case ROLE:
49076 case START:
49077 case ALGORITHM:
49078 case AUTO:
49079 case BLOCKERS:
49080 case CLUSTERED:
49081 case NONCLUSTERED:
49082 case COLUMNSTORE:
49083 case CONTENT:
49084 case YEARS:
49085 case MONTHS:
49086 case WEEKS:
49087 case DAYS:
49088 case MINUTES:
49089 case DENY:
49090 case DETERMINISTIC:
49091 case DISTRIBUTION:
49092 case DOCUMENT:
49093 case DURABILITY:
49094 case ENCRYPTED:
49095 case FILESTREAM:
49096 case FILETABLE:
49097 case FILLFACTOR:
49098 case FOLLOWING:
49099 case HASH:
49100 case HEAP:
49101 case INBOUND:
49102 case OUTBOUND:
49103 case UNBOUNDED:
49104 case INFINITE:
49105 case LOGIN:
49106 case MASKED:
49107 case MAXDOP:
49108 case MOVE:
49109 case NOCHECK:
49110 case OBJECT:
49111 case ONLINE:
49112 case OVER:
49113 case PAGE:
49114 case PAUSED:
49115 case PERIOD:
49116 case PERSISTED:
49117 case PRECEDING:
49118 case RANDOMIZED:
49119 case RANGE:
49120 case REBUILD:
49121 case REPLICATE:
49122 case REPLICATION:
49123 case RESUMABLE:
49124 case ROWGUIDCOL:
49125 case SAVE:
49126 case SELF:
49127 case SPARSE:
49128 case SWITCH:
49129 case TRAN:
49130 case TRANCOUNT:
49131 case CONTROL:
49132 case CONCAT:
49133 case TAKE:
49134 case OWNERSHIP:
49135 case DEFINITION:
49136 case APPLICATION:
49137 case ASSEMBLY:
49138 case SYMMETRIC:
49139 case ASYMMETRIC:
49140 case SERVER:
49141 case RECEIVE:
49142 case CHANGE:
49143 case TRACE:
49144 case TRACKING:
49145 case RESOURCES:
49146 case SETTINGS:
49147 case STATE:
49148 case AVAILABILITY:
49149 case CREDENTIAL:
49150 case ENDPOINT:
49151 case EVENT:
49152 case NOTIFICATION:
49153 case LINKED:
49154 case AUDIT:
49155 case DDL:
49156 case XML:
49157 case IMPERSONATE:
49158 case SECURABLES:
49159 case AUTHENTICATE:
49160 case EXTERNAL:
49161 case ACCESS:
49162 case ADMINISTER:
49163 case BULK:
49164 case OPERATIONS:
49165 case UNSAFE:
49166 case SHUTDOWN:
49167 case SCOPED:
49168 case CONFIGURATION:
49169 case DATASPACE:
49170 case SERVICE:
49171 case CERTIFICATE:
49172 case CONTRACT:
49173 case ENCRYPTION:
49174 case MASTER:
49175 case DATA:
49176 case SOURCE:
49177 case FILE:
49178 case FORMAT:
49179 case LIBRARY:
49180 case FULLTEXT:
49181 case MASK:
49182 case UNMASK:
49183 case MESSAGE:
49184 case REMOTE:
49185 case BINDING:
49186 case ROUTE:
49187 case SECURITY:
49188 case POLICY:
49189 case AGGREGATE:
49190 case QUEUE:
49191 case RULE:
49192 case SYNONYM:
49193 case COLLECTION:
49194 case SCRIPT:
49195 case KILL:
49196 case BACKUP:
49197 case LOG:
49198 case SHOWPLAN:
49199 case SUBSCRIBE:
49200 case QUERY:
49201 case NOTIFICATIONS:
49202 case CHECKPOINT:
49203 case SEQUENCE:
49204 case ABORT_AFTER_WAIT:
49205 case ALLOW_PAGE_LOCKS:
49206 case ALLOW_ROW_LOCKS:
49207 case ALL_SPARSE_COLUMNS:
49208 case BUCKET_COUNT:
49209 case COLUMNSTORE_ARCHIVE:
49210 case COLUMN_ENCRYPTION_KEY:
49211 case COLUMN_SET:
49212 case COMPRESSION_DELAY:
49213 case DATABASE_DEAULT:
49214 case DATA_COMPRESSION:
49215 case DATA_CONSISTENCY_CHECK:
49216 case ENCRYPTION_TYPE:
49217 case SYSTEM_TIME:
49218 case SYSTEM_VERSIONING:
49219 case TEXTIMAGE_ON:
49220 case WAIT_AT_LOW_PRIORITY:
49221 case STATISTICS_INCREMENTAL:
49222 case STATISTICS_NORECOMPUTE:
49223 case ROUND_ROBIN:
49224 case SCHEMA_AND_DATA:
49225 case SCHEMA_ONLY:
49226 case SORT_IN_TEMPDB:
49227 case IGNORE_DUP_KEY:
49228 case IMPLICIT_TRANSACTIONS:
49229 case MAX_DURATION:
49230 case MEMORY_OPTIMIZED:
49231 case MIGRATION_STATE:
49232 case PAD_INDEX:
49233 case REMOTE_DATA_ARCHIVE:
49234 case FILESTREAM_ON:
49235 case FILETABLE_COLLATE_FILENAME:
49236 case FILETABLE_DIRECTORY:
49237 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
49238 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
49239 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
49240 case FILTER_PREDICATE:
49241 case HISTORY_RETENTION_PERIOD:
49242 case HISTORY_TABLE:
49243 case LOCK_ESCALATION:
49244 case DROP_EXISTING:
49245 case ROW_NUMBER:
49246 case FIRST:
49247 case DATETIME2:
49248 case OUTPUT:
49249 case INSERTED:
49250 case DELETED:
49251 case FILENAME:
49252 case SIZE:
49253 case MAXSIZE:
49254 case FILEGROWTH:
49255 case UNLIMITED:
49256 case KB:
49257 case MB:
49258 case GB:
49259 case TB:
49260 case CONTAINS:
49261 case MEMORY_OPTIMIZED_DATA:
49262 case FILEGROUP:
49263 case NON_TRANSACTED_ACCESS:
49264 case DB_CHAINING:
49265 case TRUSTWORTHY:
49266 case FORWARD_ONLY:
49267 case KEYSET:
49268 case FAST_FORWARD:
49269 case SCROLL_LOCKS:
49270 case OPTIMISTIC:
49271 case TYPE_WARNING:
49272 case SCHEMABINDING:
49273 case CALLER:
49274 case INPUT:
49275 case OWNER:
49276 case SNAPSHOT:
49277 case REPEATABLE:
49278 case SERIALIZABLE:
49279 case NATIVE_COMPILATION:
49280 case VIEW_METADATA:
49281 case INSTEAD:
49282 case APPEND:
49283 case INCREMENT:
49284 case CACHE:
49285 case MINVALUE:
49286 case MAXVALUE:
49287 case RESTART:
49288 case LOB_COMPACTION:
49289 case COMPRESS_ALL_ROW_GROUPS:
49290 case REORGANIZE:
49291 case RESUME:
49292 case PAUSE:
49293 case ABORT:
49294 case ACCELERATED_DATABASE_RECOVERY:
49295 case PERSISTENT_VERSION_STORE_FILEGROUP:
49296 case IMMEDIATE:
49297 case NO_WAIT:
49298 case TARGET_RECOVERY_TIME:
49299 case SECONDS:
49300 case HONOR_BROKER_PRIORITY:
49301 case ERROR_BROKER_CONVERSATIONS:
49302 case NEW_BROKER:
49303 case DISABLE_BROKER:
49304 case ENABLE_BROKER:
49305 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
49306 case READ_COMMITTED_SNAPSHOT:
49307 case ALLOW_SNAPSHOT_ISOLATION:
49308 case RECURSIVE_TRIGGERS:
49309 case QUOTED_IDENTIFIER:
49310 case NUMERIC_ROUNDABORT:
49311 case CONCAT_NULL_YIELDS_NULL:
49312 case COMPATIBILITY_LEVEL:
49313 case ARITHABORT:
49314 case ANSI_WARNINGS:
49315 case ANSI_PADDING:
49316 case ANSI_NULLS:
49317 case ANSI_NULL_DEFAULT:
49318 case PAGE_VERIFY:
49319 case CHECKSUM:
49320 case TORN_PAGE_DETECTION:
49321 case BULK_LOGGED:
49322 case RECOVERY:
49323 case TOTAL_EXECUTION_CPU_TIME_MS:
49324 case TOTAL_COMPILE_CPU_TIME_MS:
49325 case STALE_CAPTURE_POLICY_THRESHOLD:
49326 case EXECUTION_COUNT:
49327 case QUERY_CAPTURE_POLICY:
49328 case WAIT_STATS_CAPTURE_MODE:
49329 case MAX_PLANS_PER_QUERY:
49330 case QUERY_CAPTURE_MODE:
49331 case SIZE_BASED_CLEANUP_MODE:
49332 case INTERVAL_LENGTH_MINUTES:
49333 case MAX_STORAGE_SIZE_MB:
49334 case DATA_FLUSH_INTERVAL_SECONDS:
49335 case CLEANUP_POLICY:
49336 case CUSTOM:
49337 case STALE_QUERY_THRESHOLD_DAYS:
49338 case OPERATION_MODE:
49339 case QUERY_STORE:
49340 case CURSOR_DEFAULT:
49341 case GLOBAL:
49342 case CURSOR_CLOSE_ON_COMMIT:
49343 case HOURS:
49344 case CHANGE_RETENTION:
49345 case AUTO_CLEANUP:
49346 case CHANGE_TRACKING:
49347 case AUTOMATIC_TUNING:
49348 case FORCE_LAST_GOOD_PLAN:
49349 case AUTO_UPDATE_STATISTICS_ASYNC:
49350 case AUTO_UPDATE_STATISTICS:
49351 case AUTO_SHRINK:
49352 case AUTO_CREATE_STATISTICS:
49353 case INCREMENTAL:
49354 case AUTO_CLOSE:
49355 case DATA_RETENTION:
49356 case TEMPORAL_HISTORY_RETENTION:
49357 case EDITION:
49358 case MIXED_PAGE_ALLOCATION:
49359 case DISABLED:
49360 case ALLOWED:
49361 case HADR:
49362 case MULTI_USER:
49363 case RESTRICTED_USER:
49364 case SINGLE_USER:
49365 case OFFLINE:
49366 case EMERGENCY:
49367 case SUSPEND:
49368 case DATE_CORRELATION_OPTIMIZATION:
49369 case ELASTIC_POOL:
49370 case SERVICE_OBJECTIVE:
49371 case DATABASE_NAME:
49372 case ALLOW_CONNECTIONS:
49373 case GEO:
49374 case NAMED:
49375 case DATEFIRST:
49376 case BACKUP_STORAGE_REDUNDANCY:
49377 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
49378 case SECONDARY:
49379 case FAILOVER:
49380 case DEFAULT_FULLTEXT_LANGUAGE:
49381 case DEFAULT_LANGUAGE:
49382 case INLINE:
49383 case NESTED_TRIGGERS:
49384 case TRANSFORM_NOISE_WORDS:
49385 case TWO_DIGIT_YEAR_CUTOFF:
49386 case PERSISTENT_LOG_BUFFER:
49387 case DIRECTORY_NAME:
49388 case DATEFORMAT:
49389 case DELAYED_DURABILITY:
49390 case AUTHORIZATION:
49391 case TRANSFER:
49392 case PROVIDER:
49393 case SEARCH:
49394 case MEMBER:
49395 case IDENTIFIER_:
49396 case DELIMITED_IDENTIFIER_:
49397 {
49398 setState(6796);
49399 identifier();
49400 }
49401 break;
49402 default:
49403 throw new NoViableAltException(this);
49404 }
49405 }
49406 break;
49407 case ALLOW_ENCRYPTED_VALUE_MODIFICATIONS:
49408 enterOuterAlt(_localctx, 3);
49409 {
49410 setState(6799);
49411 match(ALLOW_ENCRYPTED_VALUE_MODIFICATIONS);
49412 setState(6800);
49413 match(EQ_);
49414 setState(6802);
49415 _errHandler.sync(this);
49416 _la = _input.LA(1);
49417 if (_la==ON || _la==OFF) {
49418 {
49419 setState(6801);
49420 _la = _input.LA(1);
49421 if ( !(_la==ON || _la==OFF) ) {
49422 _errHandler.recoverInline(this);
49423 }
49424 else {
49425 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
49426 _errHandler.reportMatch(this);
49427 consume();
49428 }
49429 }
49430 }
49431
49432 }
49433 break;
49434 default:
49435 throw new NoViableAltException(this);
49436 }
49437 }
49438 catch (RecognitionException re) {
49439 _localctx.exception = re;
49440 _errHandler.reportError(this, re);
49441 _errHandler.recover(this, re);
49442 }
49443 finally {
49444 exitRule();
49445 }
49446 return _localctx;
49447 }
49448
49449 public static class CreateUserFromExternalProviderClauseContext extends ParserRuleContext {
49450 public UserNameContext userName() {
49451 return getRuleContext(UserNameContext.class,0);
49452 }
49453 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
49454 public IdentifierContext identifier() {
49455 return getRuleContext(IdentifierContext.class,0);
49456 }
49457 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
49458 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
49459 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
49460 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
49461 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
49462 public List<LimitedOptionsListContext> limitedOptionsList() {
49463 return getRuleContexts(LimitedOptionsListContext.class);
49464 }
49465 public LimitedOptionsListContext limitedOptionsList(int i) {
49466 return getRuleContext(LimitedOptionsListContext.class,i);
49467 }
49468 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
49469 public TerminalNode COMMA_(int i) {
49470 return getToken(SQLServerStatementParser.COMMA_, i);
49471 }
49472 public CreateUserFromExternalProviderClauseContext(ParserRuleContext parent, int invokingState) {
49473 super(parent, invokingState);
49474 }
49475 @Override public int getRuleIndex() { return RULE_createUserFromExternalProviderClause; }
49476 @Override
49477 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49478 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserFromExternalProviderClause(this);
49479 else return visitor.visitChildren(this);
49480 }
49481 }
49482
49483 public final CreateUserFromExternalProviderClauseContext createUserFromExternalProviderClause() throws RecognitionException {
49484 CreateUserFromExternalProviderClauseContext _localctx = new CreateUserFromExternalProviderClauseContext(_ctx, getState());
49485 enterRule(_localctx, 930, RULE_createUserFromExternalProviderClause);
49486 int _la;
49487 try {
49488 setState(6826);
49489 _errHandler.sync(this);
49490 switch (_input.LA(1)) {
49491 case TRUNCATE:
49492 case SCHEMA:
49493 case COLUMNS:
49494 case PRECISION:
49495 case FUNCTION:
49496 case TRIGGER:
49497 case CAST:
49498 case TRIM:
49499 case SUBSTRING:
49500 case OFF:
49501 case GROUP:
49502 case LIMIT:
49503 case OFFSET:
49504 case SAVEPOINT:
49505 case BOOLEAN:
49506 case ARRAY:
49507 case DATE:
49508 case TIMESTAMP:
49509 case LOCALTIME:
49510 case LOCALTIMESTAMP:
49511 case YEAR:
49512 case QUARTER:
49513 case MONTH:
49514 case WEEK:
49515 case DAY:
49516 case SECOND:
49517 case MICROSECOND:
49518 case MAX:
49519 case MIN:
49520 case SUM:
49521 case COUNT:
49522 case AVG:
49523 case ENABLE:
49524 case DISABLE:
49525 case INSTANCE:
49526 case DO:
49527 case DEFINER:
49528 case SQL:
49529 case CASCADED:
49530 case LOCAL:
49531 case NEXT:
49532 case NAME:
49533 case INTEGER:
49534 case TYPE:
49535 case TEXT:
49536 case VIEWS:
49537 case READ_ONLY:
49538 case DATABASE:
49539 case RETURNS:
49540 case DATEPART:
49541 case PASSWORD:
49542 case BINARY:
49543 case HIDDEN_:
49544 case MOD:
49545 case PARTITION:
49546 case PARTITIONS:
49547 case TOP:
49548 case ROW:
49549 case ROWS:
49550 case XOR:
49551 case ALWAYS:
49552 case ROLE:
49553 case START:
49554 case ALGORITHM:
49555 case AUTO:
49556 case BLOCKERS:
49557 case CLUSTERED:
49558 case NONCLUSTERED:
49559 case COLUMNSTORE:
49560 case CONTENT:
49561 case YEARS:
49562 case MONTHS:
49563 case WEEKS:
49564 case DAYS:
49565 case MINUTES:
49566 case DENY:
49567 case DETERMINISTIC:
49568 case DISTRIBUTION:
49569 case DOCUMENT:
49570 case DURABILITY:
49571 case ENCRYPTED:
49572 case FILESTREAM:
49573 case FILETABLE:
49574 case FILLFACTOR:
49575 case FOLLOWING:
49576 case HASH:
49577 case HEAP:
49578 case INBOUND:
49579 case OUTBOUND:
49580 case UNBOUNDED:
49581 case INFINITE:
49582 case LOGIN:
49583 case MASKED:
49584 case MAXDOP:
49585 case MOVE:
49586 case NOCHECK:
49587 case OBJECT:
49588 case ONLINE:
49589 case OVER:
49590 case PAGE:
49591 case PAUSED:
49592 case PERIOD:
49593 case PERSISTED:
49594 case PRECEDING:
49595 case RANDOMIZED:
49596 case RANGE:
49597 case REBUILD:
49598 case REPLICATE:
49599 case REPLICATION:
49600 case RESUMABLE:
49601 case ROWGUIDCOL:
49602 case SAVE:
49603 case SELF:
49604 case SPARSE:
49605 case SWITCH:
49606 case TRAN:
49607 case TRANCOUNT:
49608 case CONTROL:
49609 case CONCAT:
49610 case TAKE:
49611 case OWNERSHIP:
49612 case DEFINITION:
49613 case APPLICATION:
49614 case ASSEMBLY:
49615 case SYMMETRIC:
49616 case ASYMMETRIC:
49617 case SERVER:
49618 case RECEIVE:
49619 case CHANGE:
49620 case TRACE:
49621 case TRACKING:
49622 case RESOURCES:
49623 case SETTINGS:
49624 case STATE:
49625 case AVAILABILITY:
49626 case CREDENTIAL:
49627 case ENDPOINT:
49628 case EVENT:
49629 case NOTIFICATION:
49630 case LINKED:
49631 case AUDIT:
49632 case DDL:
49633 case XML:
49634 case IMPERSONATE:
49635 case SECURABLES:
49636 case AUTHENTICATE:
49637 case EXTERNAL:
49638 case ACCESS:
49639 case ADMINISTER:
49640 case BULK:
49641 case OPERATIONS:
49642 case UNSAFE:
49643 case SHUTDOWN:
49644 case SCOPED:
49645 case CONFIGURATION:
49646 case DATASPACE:
49647 case SERVICE:
49648 case CERTIFICATE:
49649 case CONTRACT:
49650 case ENCRYPTION:
49651 case MASTER:
49652 case DATA:
49653 case SOURCE:
49654 case FILE:
49655 case FORMAT:
49656 case LIBRARY:
49657 case FULLTEXT:
49658 case MASK:
49659 case UNMASK:
49660 case MESSAGE:
49661 case REMOTE:
49662 case BINDING:
49663 case ROUTE:
49664 case SECURITY:
49665 case POLICY:
49666 case AGGREGATE:
49667 case QUEUE:
49668 case RULE:
49669 case SYNONYM:
49670 case COLLECTION:
49671 case SCRIPT:
49672 case KILL:
49673 case BACKUP:
49674 case LOG:
49675 case SHOWPLAN:
49676 case SUBSCRIBE:
49677 case QUERY:
49678 case NOTIFICATIONS:
49679 case CHECKPOINT:
49680 case SEQUENCE:
49681 case ABORT_AFTER_WAIT:
49682 case ALLOW_PAGE_LOCKS:
49683 case ALLOW_ROW_LOCKS:
49684 case ALL_SPARSE_COLUMNS:
49685 case BUCKET_COUNT:
49686 case COLUMNSTORE_ARCHIVE:
49687 case COLUMN_ENCRYPTION_KEY:
49688 case COLUMN_SET:
49689 case COMPRESSION_DELAY:
49690 case DATABASE_DEAULT:
49691 case DATA_COMPRESSION:
49692 case DATA_CONSISTENCY_CHECK:
49693 case ENCRYPTION_TYPE:
49694 case SYSTEM_TIME:
49695 case SYSTEM_VERSIONING:
49696 case TEXTIMAGE_ON:
49697 case WAIT_AT_LOW_PRIORITY:
49698 case STATISTICS_INCREMENTAL:
49699 case STATISTICS_NORECOMPUTE:
49700 case ROUND_ROBIN:
49701 case SCHEMA_AND_DATA:
49702 case SCHEMA_ONLY:
49703 case SORT_IN_TEMPDB:
49704 case IGNORE_DUP_KEY:
49705 case IMPLICIT_TRANSACTIONS:
49706 case MAX_DURATION:
49707 case MEMORY_OPTIMIZED:
49708 case MIGRATION_STATE:
49709 case PAD_INDEX:
49710 case REMOTE_DATA_ARCHIVE:
49711 case FILESTREAM_ON:
49712 case FILETABLE_COLLATE_FILENAME:
49713 case FILETABLE_DIRECTORY:
49714 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
49715 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
49716 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
49717 case FILTER_PREDICATE:
49718 case HISTORY_RETENTION_PERIOD:
49719 case HISTORY_TABLE:
49720 case LOCK_ESCALATION:
49721 case DROP_EXISTING:
49722 case ROW_NUMBER:
49723 case FIRST:
49724 case DATETIME2:
49725 case OUTPUT:
49726 case INSERTED:
49727 case DELETED:
49728 case FILENAME:
49729 case SIZE:
49730 case MAXSIZE:
49731 case FILEGROWTH:
49732 case UNLIMITED:
49733 case KB:
49734 case MB:
49735 case GB:
49736 case TB:
49737 case CONTAINS:
49738 case MEMORY_OPTIMIZED_DATA:
49739 case FILEGROUP:
49740 case NON_TRANSACTED_ACCESS:
49741 case DB_CHAINING:
49742 case TRUSTWORTHY:
49743 case FORWARD_ONLY:
49744 case KEYSET:
49745 case FAST_FORWARD:
49746 case SCROLL_LOCKS:
49747 case OPTIMISTIC:
49748 case TYPE_WARNING:
49749 case SCHEMABINDING:
49750 case CALLER:
49751 case INPUT:
49752 case OWNER:
49753 case SNAPSHOT:
49754 case REPEATABLE:
49755 case SERIALIZABLE:
49756 case NATIVE_COMPILATION:
49757 case VIEW_METADATA:
49758 case INSTEAD:
49759 case APPEND:
49760 case INCREMENT:
49761 case CACHE:
49762 case MINVALUE:
49763 case MAXVALUE:
49764 case RESTART:
49765 case LOB_COMPACTION:
49766 case COMPRESS_ALL_ROW_GROUPS:
49767 case REORGANIZE:
49768 case RESUME:
49769 case PAUSE:
49770 case ABORT:
49771 case ACCELERATED_DATABASE_RECOVERY:
49772 case PERSISTENT_VERSION_STORE_FILEGROUP:
49773 case IMMEDIATE:
49774 case NO_WAIT:
49775 case TARGET_RECOVERY_TIME:
49776 case SECONDS:
49777 case HONOR_BROKER_PRIORITY:
49778 case ERROR_BROKER_CONVERSATIONS:
49779 case NEW_BROKER:
49780 case DISABLE_BROKER:
49781 case ENABLE_BROKER:
49782 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
49783 case READ_COMMITTED_SNAPSHOT:
49784 case ALLOW_SNAPSHOT_ISOLATION:
49785 case RECURSIVE_TRIGGERS:
49786 case QUOTED_IDENTIFIER:
49787 case NUMERIC_ROUNDABORT:
49788 case CONCAT_NULL_YIELDS_NULL:
49789 case COMPATIBILITY_LEVEL:
49790 case ARITHABORT:
49791 case ANSI_WARNINGS:
49792 case ANSI_PADDING:
49793 case ANSI_NULLS:
49794 case ANSI_NULL_DEFAULT:
49795 case PAGE_VERIFY:
49796 case CHECKSUM:
49797 case TORN_PAGE_DETECTION:
49798 case BULK_LOGGED:
49799 case RECOVERY:
49800 case TOTAL_EXECUTION_CPU_TIME_MS:
49801 case TOTAL_COMPILE_CPU_TIME_MS:
49802 case STALE_CAPTURE_POLICY_THRESHOLD:
49803 case EXECUTION_COUNT:
49804 case QUERY_CAPTURE_POLICY:
49805 case WAIT_STATS_CAPTURE_MODE:
49806 case MAX_PLANS_PER_QUERY:
49807 case QUERY_CAPTURE_MODE:
49808 case SIZE_BASED_CLEANUP_MODE:
49809 case INTERVAL_LENGTH_MINUTES:
49810 case MAX_STORAGE_SIZE_MB:
49811 case DATA_FLUSH_INTERVAL_SECONDS:
49812 case CLEANUP_POLICY:
49813 case CUSTOM:
49814 case STALE_QUERY_THRESHOLD_DAYS:
49815 case OPERATION_MODE:
49816 case QUERY_STORE:
49817 case CURSOR_DEFAULT:
49818 case GLOBAL:
49819 case CURSOR_CLOSE_ON_COMMIT:
49820 case HOURS:
49821 case CHANGE_RETENTION:
49822 case AUTO_CLEANUP:
49823 case CHANGE_TRACKING:
49824 case AUTOMATIC_TUNING:
49825 case FORCE_LAST_GOOD_PLAN:
49826 case AUTO_UPDATE_STATISTICS_ASYNC:
49827 case AUTO_UPDATE_STATISTICS:
49828 case AUTO_SHRINK:
49829 case AUTO_CREATE_STATISTICS:
49830 case INCREMENTAL:
49831 case AUTO_CLOSE:
49832 case DATA_RETENTION:
49833 case TEMPORAL_HISTORY_RETENTION:
49834 case EDITION:
49835 case MIXED_PAGE_ALLOCATION:
49836 case DISABLED:
49837 case ALLOWED:
49838 case HADR:
49839 case MULTI_USER:
49840 case RESTRICTED_USER:
49841 case SINGLE_USER:
49842 case OFFLINE:
49843 case EMERGENCY:
49844 case SUSPEND:
49845 case DATE_CORRELATION_OPTIMIZATION:
49846 case ELASTIC_POOL:
49847 case SERVICE_OBJECTIVE:
49848 case DATABASE_NAME:
49849 case ALLOW_CONNECTIONS:
49850 case GEO:
49851 case NAMED:
49852 case DATEFIRST:
49853 case BACKUP_STORAGE_REDUNDANCY:
49854 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
49855 case SECONDARY:
49856 case FAILOVER:
49857 case DEFAULT_FULLTEXT_LANGUAGE:
49858 case DEFAULT_LANGUAGE:
49859 case INLINE:
49860 case NESTED_TRIGGERS:
49861 case TRANSFORM_NOISE_WORDS:
49862 case TWO_DIGIT_YEAR_CUTOFF:
49863 case PERSISTENT_LOG_BUFFER:
49864 case DIRECTORY_NAME:
49865 case DATEFORMAT:
49866 case DELAYED_DURABILITY:
49867 case AUTHORIZATION:
49868 case TRANSFER:
49869 case PROVIDER:
49870 case SEARCH:
49871 case MEMBER:
49872 case IDENTIFIER_:
49873 case DELIMITED_IDENTIFIER_:
49874 enterOuterAlt(_localctx, 1);
49875 {
49876 setState(6806);
49877 userName();
49878 setState(6810);
49879 _errHandler.sync(this);
49880 _la = _input.LA(1);
49881 if (_la==FROM || _la==FOR) {
49882 {
49883 setState(6807);
49884 _la = _input.LA(1);
49885 if ( !(_la==FROM || _la==FOR) ) {
49886 _errHandler.recoverInline(this);
49887 }
49888 else {
49889 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
49890 _errHandler.reportMatch(this);
49891 consume();
49892 }
49893 setState(6808);
49894 match(LOGIN);
49895 setState(6809);
49896 identifier();
49897 }
49898 }
49899
49900 }
49901 break;
49902 case FROM:
49903 enterOuterAlt(_localctx, 2);
49904 {
49905 setState(6812);
49906 match(FROM);
49907 setState(6813);
49908 match(EXTERNAL);
49909 setState(6814);
49910 match(PROVIDER);
49911 setState(6824);
49912 _errHandler.sync(this);
49913 _la = _input.LA(1);
49914 if (_la==WITH) {
49915 {
49916 setState(6815);
49917 match(WITH);
49918 setState(6816);
49919 limitedOptionsList();
49920 setState(6821);
49921 _errHandler.sync(this);
49922 _la = _input.LA(1);
49923 while (_la==COMMA_) {
49924 {
49925 {
49926 setState(6817);
49927 match(COMMA_);
49928 setState(6818);
49929 limitedOptionsList();
49930 }
49931 }
49932 setState(6823);
49933 _errHandler.sync(this);
49934 _la = _input.LA(1);
49935 }
49936 }
49937 }
49938
49939 }
49940 break;
49941 default:
49942 throw new NoViableAltException(this);
49943 }
49944 }
49945 catch (RecognitionException re) {
49946 _localctx.exception = re;
49947 _errHandler.reportError(this, re);
49948 _errHandler.recover(this, re);
49949 }
49950 finally {
49951 exitRule();
49952 }
49953 return _localctx;
49954 }
49955
49956 public static class CreateUserWithDefaultSchemaContext extends ParserRuleContext {
49957 public UserNameContext userName() {
49958 return getRuleContext(UserNameContext.class,0);
49959 }
49960 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
49961 public IdentifierContext identifier() {
49962 return getRuleContext(IdentifierContext.class,0);
49963 }
49964 public TerminalNode WITHOUT() { return getToken(SQLServerStatementParser.WITHOUT, 0); }
49965 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
49966 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
49967 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
49968 public SchemaNameContext schemaName() {
49969 return getRuleContext(SchemaNameContext.class,0);
49970 }
49971 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
49972 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
49973 public CreateUserWithDefaultSchemaContext(ParserRuleContext parent, int invokingState) {
49974 super(parent, invokingState);
49975 }
49976 @Override public int getRuleIndex() { return RULE_createUserWithDefaultSchema; }
49977 @Override
49978 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49979 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWithDefaultSchema(this);
49980 else return visitor.visitChildren(this);
49981 }
49982 }
49983
49984 public final CreateUserWithDefaultSchemaContext createUserWithDefaultSchema() throws RecognitionException {
49985 CreateUserWithDefaultSchemaContext _localctx = new CreateUserWithDefaultSchemaContext(_ctx, getState());
49986 enterRule(_localctx, 932, RULE_createUserWithDefaultSchema);
49987 int _la;
49988 try {
49989 enterOuterAlt(_localctx, 1);
49990 {
49991 setState(6828);
49992 userName();
49993 setState(6834);
49994 _errHandler.sync(this);
49995 switch (_input.LA(1)) {
49996 case FROM:
49997 case FOR:
49998 {
49999 setState(6829);
50000 _la = _input.LA(1);
50001 if ( !(_la==FROM || _la==FOR) ) {
50002 _errHandler.recoverInline(this);
50003 }
50004 else {
50005 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
50006 _errHandler.reportMatch(this);
50007 consume();
50008 }
50009 setState(6830);
50010 match(LOGIN);
50011 setState(6831);
50012 identifier();
50013 }
50014 break;
50015 case WITHOUT:
50016 {
50017 setState(6832);
50018 match(WITHOUT);
50019 setState(6833);
50020 match(LOGIN);
50021 }
50022 break;
50023 case EOF:
50024 case SEMI_:
50025 case WITH:
50026 break;
50027 default:
50028 break;
50029 }
50030 setState(6840);
50031 _errHandler.sync(this);
50032 _la = _input.LA(1);
50033 if (_la==WITH) {
50034 {
50035 setState(6836);
50036 match(WITH);
50037 setState(6837);
50038 match(DEFAULT_SCHEMA);
50039 setState(6838);
50040 match(EQ_);
50041 setState(6839);
50042 schemaName();
50043 }
50044 }
50045
50046 }
50047 }
50048 catch (RecognitionException re) {
50049 _localctx.exception = re;
50050 _errHandler.reportError(this, re);
50051 _errHandler.recover(this, re);
50052 }
50053 finally {
50054 exitRule();
50055 }
50056 return _localctx;
50057 }
50058
50059 public static class CreateUserWithAzureActiveDirectoryPrincipalClauseContext extends ParserRuleContext {
50060 public AzureActiveDirectoryPrincipalContext azureActiveDirectoryPrincipal() {
50061 return getRuleContext(AzureActiveDirectoryPrincipalContext.class,0);
50062 }
50063 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
50064 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
50065 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
50066 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
50067 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
50068 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
50069 public SchemaNameContext schemaName() {
50070 return getRuleContext(SchemaNameContext.class,0);
50071 }
50072 public CreateUserWithAzureActiveDirectoryPrincipalClauseContext(ParserRuleContext parent, int invokingState) {
50073 super(parent, invokingState);
50074 }
50075 @Override public int getRuleIndex() { return RULE_createUserWithAzureActiveDirectoryPrincipalClause; }
50076 @Override
50077 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50078 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWithAzureActiveDirectoryPrincipalClause(this);
50079 else return visitor.visitChildren(this);
50080 }
50081 }
50082
50083 public final CreateUserWithAzureActiveDirectoryPrincipalClauseContext createUserWithAzureActiveDirectoryPrincipalClause() throws RecognitionException {
50084 CreateUserWithAzureActiveDirectoryPrincipalClauseContext _localctx = new CreateUserWithAzureActiveDirectoryPrincipalClauseContext(_ctx, getState());
50085 enterRule(_localctx, 934, RULE_createUserWithAzureActiveDirectoryPrincipalClause);
50086 int _la;
50087 try {
50088 enterOuterAlt(_localctx, 1);
50089 {
50090 setState(6842);
50091 azureActiveDirectoryPrincipal();
50092 setState(6843);
50093 match(FROM);
50094 setState(6844);
50095 match(EXTERNAL);
50096 setState(6845);
50097 match(PROVIDER);
50098 setState(6850);
50099 _errHandler.sync(this);
50100 _la = _input.LA(1);
50101 if (_la==WITH) {
50102 {
50103 setState(6846);
50104 match(WITH);
50105 setState(6847);
50106 match(DEFAULT_SCHEMA);
50107 setState(6848);
50108 match(EQ_);
50109 setState(6849);
50110 schemaName();
50111 }
50112 }
50113
50114 }
50115 }
50116 catch (RecognitionException re) {
50117 _localctx.exception = re;
50118 _errHandler.reportError(this, re);
50119 _errHandler.recover(this, re);
50120 }
50121 finally {
50122 exitRule();
50123 }
50124 return _localctx;
50125 }
50126
50127 public static class WindowsPrincipalContext extends ParserRuleContext {
50128 public UserNameContext userName() {
50129 return getRuleContext(UserNameContext.class,0);
50130 }
50131 public WindowsPrincipalContext(ParserRuleContext parent, int invokingState) {
50132 super(parent, invokingState);
50133 }
50134 @Override public int getRuleIndex() { return RULE_windowsPrincipal; }
50135 @Override
50136 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50137 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowsPrincipal(this);
50138 else return visitor.visitChildren(this);
50139 }
50140 }
50141
50142 public final WindowsPrincipalContext windowsPrincipal() throws RecognitionException {
50143 WindowsPrincipalContext _localctx = new WindowsPrincipalContext(_ctx, getState());
50144 enterRule(_localctx, 936, RULE_windowsPrincipal);
50145 try {
50146 enterOuterAlt(_localctx, 1);
50147 {
50148 setState(6852);
50149 userName();
50150 }
50151 }
50152 catch (RecognitionException re) {
50153 _localctx.exception = re;
50154 _errHandler.reportError(this, re);
50155 _errHandler.recover(this, re);
50156 }
50157 finally {
50158 exitRule();
50159 }
50160 return _localctx;
50161 }
50162
50163 public static class AzureActiveDirectoryPrincipalContext extends ParserRuleContext {
50164 public UserNameContext userName() {
50165 return getRuleContext(UserNameContext.class,0);
50166 }
50167 public AzureActiveDirectoryPrincipalContext(ParserRuleContext parent, int invokingState) {
50168 super(parent, invokingState);
50169 }
50170 @Override public int getRuleIndex() { return RULE_azureActiveDirectoryPrincipal; }
50171 @Override
50172 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50173 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAzureActiveDirectoryPrincipal(this);
50174 else return visitor.visitChildren(this);
50175 }
50176 }
50177
50178 public final AzureActiveDirectoryPrincipalContext azureActiveDirectoryPrincipal() throws RecognitionException {
50179 AzureActiveDirectoryPrincipalContext _localctx = new AzureActiveDirectoryPrincipalContext(_ctx, getState());
50180 enterRule(_localctx, 938, RULE_azureActiveDirectoryPrincipal);
50181 try {
50182 enterOuterAlt(_localctx, 1);
50183 {
50184 setState(6854);
50185 userName();
50186 }
50187 }
50188 catch (RecognitionException re) {
50189 _localctx.exception = re;
50190 _errHandler.reportError(this, re);
50191 _errHandler.recover(this, re);
50192 }
50193 finally {
50194 exitRule();
50195 }
50196 return _localctx;
50197 }
50198
50199 public static class UserNameContext extends ParserRuleContext {
50200 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
50201 return getRuleContext(IgnoredNameIdentifierContext.class,0);
50202 }
50203 public UserNameContext(ParserRuleContext parent, int invokingState) {
50204 super(parent, invokingState);
50205 }
50206 @Override public int getRuleIndex() { return RULE_userName; }
50207 @Override
50208 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50209 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUserName(this);
50210 else return visitor.visitChildren(this);
50211 }
50212 }
50213
50214 public final UserNameContext userName() throws RecognitionException {
50215 UserNameContext _localctx = new UserNameContext(_ctx, getState());
50216 enterRule(_localctx, 940, RULE_userName);
50217 try {
50218 enterOuterAlt(_localctx, 1);
50219 {
50220 setState(6856);
50221 ignoredNameIdentifier();
50222 }
50223 }
50224 catch (RecognitionException re) {
50225 _localctx.exception = re;
50226 _errHandler.reportError(this, re);
50227 _errHandler.recover(this, re);
50228 }
50229 finally {
50230 exitRule();
50231 }
50232 return _localctx;
50233 }
50234
50235 public static class IgnoredNameIdentifierContext extends ParserRuleContext {
50236 public List<IdentifierContext> identifier() {
50237 return getRuleContexts(IdentifierContext.class);
50238 }
50239 public IdentifierContext identifier(int i) {
50240 return getRuleContext(IdentifierContext.class,i);
50241 }
50242 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
50243 public IgnoredNameIdentifierContext(ParserRuleContext parent, int invokingState) {
50244 super(parent, invokingState);
50245 }
50246 @Override public int getRuleIndex() { return RULE_ignoredNameIdentifier; }
50247 @Override
50248 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50249 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIgnoredNameIdentifier(this);
50250 else return visitor.visitChildren(this);
50251 }
50252 }
50253
50254 public final IgnoredNameIdentifierContext ignoredNameIdentifier() throws RecognitionException {
50255 IgnoredNameIdentifierContext _localctx = new IgnoredNameIdentifierContext(_ctx, getState());
50256 enterRule(_localctx, 942, RULE_ignoredNameIdentifier);
50257 int _la;
50258 try {
50259 enterOuterAlt(_localctx, 1);
50260 {
50261 setState(6858);
50262 identifier();
50263 setState(6861);
50264 _errHandler.sync(this);
50265 _la = _input.LA(1);
50266 if (_la==DOT_) {
50267 {
50268 setState(6859);
50269 match(DOT_);
50270 setState(6860);
50271 identifier();
50272 }
50273 }
50274
50275 }
50276 }
50277 catch (RecognitionException re) {
50278 _localctx.exception = re;
50279 _errHandler.reportError(this, re);
50280 _errHandler.recover(this, re);
50281 }
50282 finally {
50283 exitRule();
50284 }
50285 return _localctx;
50286 }
50287
50288 public static class DropUserContext extends ParserRuleContext {
50289 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
50290 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
50291 public UserNameContext userName() {
50292 return getRuleContext(UserNameContext.class,0);
50293 }
50294 public IfExistsContext ifExists() {
50295 return getRuleContext(IfExistsContext.class,0);
50296 }
50297 public DropUserContext(ParserRuleContext parent, int invokingState) {
50298 super(parent, invokingState);
50299 }
50300 @Override public int getRuleIndex() { return RULE_dropUser; }
50301 @Override
50302 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50303 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropUser(this);
50304 else return visitor.visitChildren(this);
50305 }
50306 }
50307
50308 public final DropUserContext dropUser() throws RecognitionException {
50309 DropUserContext _localctx = new DropUserContext(_ctx, getState());
50310 enterRule(_localctx, 944, RULE_dropUser);
50311 int _la;
50312 try {
50313 enterOuterAlt(_localctx, 1);
50314 {
50315 setState(6863);
50316 match(DROP);
50317 setState(6864);
50318 match(USER);
50319 setState(6866);
50320 _errHandler.sync(this);
50321 _la = _input.LA(1);
50322 if (_la==IF) {
50323 {
50324 setState(6865);
50325 ifExists();
50326 }
50327 }
50328
50329 setState(6868);
50330 userName();
50331 }
50332 }
50333 catch (RecognitionException re) {
50334 _localctx.exception = re;
50335 _errHandler.reportError(this, re);
50336 _errHandler.recover(this, re);
50337 }
50338 finally {
50339 exitRule();
50340 }
50341 return _localctx;
50342 }
50343
50344 public static class AlterUserContext extends ParserRuleContext {
50345 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
50346 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
50347 public UserNameContext userName() {
50348 return getRuleContext(UserNameContext.class,0);
50349 }
50350 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
50351 public List<SetItemContext> setItem() {
50352 return getRuleContexts(SetItemContext.class);
50353 }
50354 public SetItemContext setItem(int i) {
50355 return getRuleContext(SetItemContext.class,i);
50356 }
50357 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
50358 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
50359 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
50360 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
50361 public TerminalNode COMMA_(int i) {
50362 return getToken(SQLServerStatementParser.COMMA_, i);
50363 }
50364 public AlterUserContext(ParserRuleContext parent, int invokingState) {
50365 super(parent, invokingState);
50366 }
50367 @Override public int getRuleIndex() { return RULE_alterUser; }
50368 @Override
50369 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50370 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterUser(this);
50371 else return visitor.visitChildren(this);
50372 }
50373 }
50374
50375 public final AlterUserContext alterUser() throws RecognitionException {
50376 AlterUserContext _localctx = new AlterUserContext(_ctx, getState());
50377 enterRule(_localctx, 946, RULE_alterUser);
50378 int _la;
50379 try {
50380 enterOuterAlt(_localctx, 1);
50381 {
50382 setState(6870);
50383 match(ALTER);
50384 setState(6871);
50385 match(USER);
50386 setState(6872);
50387 userName();
50388 setState(6885);
50389 _errHandler.sync(this);
50390 switch (_input.LA(1)) {
50391 case WITH:
50392 {
50393 setState(6873);
50394 match(WITH);
50395 setState(6874);
50396 setItem();
50397 setState(6879);
50398 _errHandler.sync(this);
50399 _la = _input.LA(1);
50400 while (_la==COMMA_) {
50401 {
50402 {
50403 setState(6875);
50404 match(COMMA_);
50405 setState(6876);
50406 setItem();
50407 }
50408 }
50409 setState(6881);
50410 _errHandler.sync(this);
50411 _la = _input.LA(1);
50412 }
50413 }
50414 break;
50415 case FROM:
50416 {
50417 setState(6882);
50418 match(FROM);
50419 setState(6883);
50420 match(EXTERNAL);
50421 setState(6884);
50422 match(PROVIDER);
50423 }
50424 break;
50425 default:
50426 throw new NoViableAltException(this);
50427 }
50428 }
50429 }
50430 catch (RecognitionException re) {
50431 _localctx.exception = re;
50432 _errHandler.reportError(this, re);
50433 _errHandler.recover(this, re);
50434 }
50435 finally {
50436 exitRule();
50437 }
50438 return _localctx;
50439 }
50440
50441 public static class SetItemContext extends ParserRuleContext {
50442 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
50443 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
50444 public TerminalNode EQ_(int i) {
50445 return getToken(SQLServerStatementParser.EQ_, i);
50446 }
50447 public UserNameContext userName() {
50448 return getRuleContext(UserNameContext.class,0);
50449 }
50450 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
50451 public SchemaNameContext schemaName() {
50452 return getRuleContext(SchemaNameContext.class,0);
50453 }
50454 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
50455 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
50456 public IdentifierContext identifier() {
50457 return getRuleContext(IdentifierContext.class,0);
50458 }
50459 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
50460 public List<StringLiteralsContext> stringLiterals() {
50461 return getRuleContexts(StringLiteralsContext.class);
50462 }
50463 public StringLiteralsContext stringLiterals(int i) {
50464 return getRuleContext(StringLiteralsContext.class,i);
50465 }
50466 public TerminalNode OLD_PASSWORD() { return getToken(SQLServerStatementParser.OLD_PASSWORD, 0); }
50467 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
50468 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
50469 public TerminalNode ALLOW_ENCRYPTED_VALUE_MODIFICATIONS() { return getToken(SQLServerStatementParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, 0); }
50470 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
50471 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
50472 public SetItemContext(ParserRuleContext parent, int invokingState) {
50473 super(parent, invokingState);
50474 }
50475 @Override public int getRuleIndex() { return RULE_setItem; }
50476 @Override
50477 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50478 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetItem(this);
50479 else return visitor.visitChildren(this);
50480 }
50481 }
50482
50483 public final SetItemContext setItem() throws RecognitionException {
50484 SetItemContext _localctx = new SetItemContext(_ctx, getState());
50485 enterRule(_localctx, 948, RULE_setItem);
50486 int _la;
50487 try {
50488 setState(6918);
50489 _errHandler.sync(this);
50490 switch (_input.LA(1)) {
50491 case NAME:
50492 enterOuterAlt(_localctx, 1);
50493 {
50494 setState(6887);
50495 match(NAME);
50496 setState(6888);
50497 match(EQ_);
50498 setState(6889);
50499 userName();
50500 }
50501 break;
50502 case DEFAULT_SCHEMA:
50503 enterOuterAlt(_localctx, 2);
50504 {
50505 setState(6890);
50506 match(DEFAULT_SCHEMA);
50507 setState(6891);
50508 match(EQ_);
50509 setState(6894);
50510 _errHandler.sync(this);
50511 switch (_input.LA(1)) {
50512 case TRUNCATE:
50513 case SCHEMA:
50514 case COLUMNS:
50515 case PRECISION:
50516 case FUNCTION:
50517 case TRIGGER:
50518 case CAST:
50519 case TRIM:
50520 case SUBSTRING:
50521 case OFF:
50522 case GROUP:
50523 case LIMIT:
50524 case OFFSET:
50525 case SAVEPOINT:
50526 case BOOLEAN:
50527 case ARRAY:
50528 case DATE:
50529 case TIMESTAMP:
50530 case LOCALTIME:
50531 case LOCALTIMESTAMP:
50532 case YEAR:
50533 case QUARTER:
50534 case MONTH:
50535 case WEEK:
50536 case DAY:
50537 case SECOND:
50538 case MICROSECOND:
50539 case MAX:
50540 case MIN:
50541 case SUM:
50542 case COUNT:
50543 case AVG:
50544 case ENABLE:
50545 case DISABLE:
50546 case INSTANCE:
50547 case DO:
50548 case DEFINER:
50549 case SQL:
50550 case CASCADED:
50551 case LOCAL:
50552 case NEXT:
50553 case NAME:
50554 case INTEGER:
50555 case TYPE:
50556 case TEXT:
50557 case VIEWS:
50558 case READ_ONLY:
50559 case DATABASE:
50560 case RETURNS:
50561 case DATEPART:
50562 case PASSWORD:
50563 case BINARY:
50564 case HIDDEN_:
50565 case MOD:
50566 case PARTITION:
50567 case PARTITIONS:
50568 case TOP:
50569 case ROW:
50570 case ROWS:
50571 case XOR:
50572 case ALWAYS:
50573 case ROLE:
50574 case START:
50575 case ALGORITHM:
50576 case AUTO:
50577 case BLOCKERS:
50578 case CLUSTERED:
50579 case NONCLUSTERED:
50580 case COLUMNSTORE:
50581 case CONTENT:
50582 case YEARS:
50583 case MONTHS:
50584 case WEEKS:
50585 case DAYS:
50586 case MINUTES:
50587 case DENY:
50588 case DETERMINISTIC:
50589 case DISTRIBUTION:
50590 case DOCUMENT:
50591 case DURABILITY:
50592 case ENCRYPTED:
50593 case FILESTREAM:
50594 case FILETABLE:
50595 case FILLFACTOR:
50596 case FOLLOWING:
50597 case HASH:
50598 case HEAP:
50599 case INBOUND:
50600 case OUTBOUND:
50601 case UNBOUNDED:
50602 case INFINITE:
50603 case LOGIN:
50604 case MASKED:
50605 case MAXDOP:
50606 case MOVE:
50607 case NOCHECK:
50608 case OBJECT:
50609 case ONLINE:
50610 case OVER:
50611 case PAGE:
50612 case PAUSED:
50613 case PERIOD:
50614 case PERSISTED:
50615 case PRECEDING:
50616 case RANDOMIZED:
50617 case RANGE:
50618 case REBUILD:
50619 case REPLICATE:
50620 case REPLICATION:
50621 case RESUMABLE:
50622 case ROWGUIDCOL:
50623 case SAVE:
50624 case SELF:
50625 case SPARSE:
50626 case SWITCH:
50627 case TRAN:
50628 case TRANCOUNT:
50629 case CONTROL:
50630 case CONCAT:
50631 case TAKE:
50632 case OWNERSHIP:
50633 case DEFINITION:
50634 case APPLICATION:
50635 case ASSEMBLY:
50636 case SYMMETRIC:
50637 case ASYMMETRIC:
50638 case SERVER:
50639 case RECEIVE:
50640 case CHANGE:
50641 case TRACE:
50642 case TRACKING:
50643 case RESOURCES:
50644 case SETTINGS:
50645 case STATE:
50646 case AVAILABILITY:
50647 case CREDENTIAL:
50648 case ENDPOINT:
50649 case EVENT:
50650 case NOTIFICATION:
50651 case LINKED:
50652 case AUDIT:
50653 case DDL:
50654 case XML:
50655 case IMPERSONATE:
50656 case SECURABLES:
50657 case AUTHENTICATE:
50658 case EXTERNAL:
50659 case ACCESS:
50660 case ADMINISTER:
50661 case BULK:
50662 case OPERATIONS:
50663 case UNSAFE:
50664 case SHUTDOWN:
50665 case SCOPED:
50666 case CONFIGURATION:
50667 case DATASPACE:
50668 case SERVICE:
50669 case CERTIFICATE:
50670 case CONTRACT:
50671 case ENCRYPTION:
50672 case MASTER:
50673 case DATA:
50674 case SOURCE:
50675 case FILE:
50676 case FORMAT:
50677 case LIBRARY:
50678 case FULLTEXT:
50679 case MASK:
50680 case UNMASK:
50681 case MESSAGE:
50682 case REMOTE:
50683 case BINDING:
50684 case ROUTE:
50685 case SECURITY:
50686 case POLICY:
50687 case AGGREGATE:
50688 case QUEUE:
50689 case RULE:
50690 case SYNONYM:
50691 case COLLECTION:
50692 case SCRIPT:
50693 case KILL:
50694 case BACKUP:
50695 case LOG:
50696 case SHOWPLAN:
50697 case SUBSCRIBE:
50698 case QUERY:
50699 case NOTIFICATIONS:
50700 case CHECKPOINT:
50701 case SEQUENCE:
50702 case ABORT_AFTER_WAIT:
50703 case ALLOW_PAGE_LOCKS:
50704 case ALLOW_ROW_LOCKS:
50705 case ALL_SPARSE_COLUMNS:
50706 case BUCKET_COUNT:
50707 case COLUMNSTORE_ARCHIVE:
50708 case COLUMN_ENCRYPTION_KEY:
50709 case COLUMN_SET:
50710 case COMPRESSION_DELAY:
50711 case DATABASE_DEAULT:
50712 case DATA_COMPRESSION:
50713 case DATA_CONSISTENCY_CHECK:
50714 case ENCRYPTION_TYPE:
50715 case SYSTEM_TIME:
50716 case SYSTEM_VERSIONING:
50717 case TEXTIMAGE_ON:
50718 case WAIT_AT_LOW_PRIORITY:
50719 case STATISTICS_INCREMENTAL:
50720 case STATISTICS_NORECOMPUTE:
50721 case ROUND_ROBIN:
50722 case SCHEMA_AND_DATA:
50723 case SCHEMA_ONLY:
50724 case SORT_IN_TEMPDB:
50725 case IGNORE_DUP_KEY:
50726 case IMPLICIT_TRANSACTIONS:
50727 case MAX_DURATION:
50728 case MEMORY_OPTIMIZED:
50729 case MIGRATION_STATE:
50730 case PAD_INDEX:
50731 case REMOTE_DATA_ARCHIVE:
50732 case FILESTREAM_ON:
50733 case FILETABLE_COLLATE_FILENAME:
50734 case FILETABLE_DIRECTORY:
50735 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
50736 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
50737 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
50738 case FILTER_PREDICATE:
50739 case HISTORY_RETENTION_PERIOD:
50740 case HISTORY_TABLE:
50741 case LOCK_ESCALATION:
50742 case DROP_EXISTING:
50743 case ROW_NUMBER:
50744 case FIRST:
50745 case DATETIME2:
50746 case OUTPUT:
50747 case INSERTED:
50748 case DELETED:
50749 case FILENAME:
50750 case SIZE:
50751 case MAXSIZE:
50752 case FILEGROWTH:
50753 case UNLIMITED:
50754 case KB:
50755 case MB:
50756 case GB:
50757 case TB:
50758 case CONTAINS:
50759 case MEMORY_OPTIMIZED_DATA:
50760 case FILEGROUP:
50761 case NON_TRANSACTED_ACCESS:
50762 case DB_CHAINING:
50763 case TRUSTWORTHY:
50764 case FORWARD_ONLY:
50765 case KEYSET:
50766 case FAST_FORWARD:
50767 case SCROLL_LOCKS:
50768 case OPTIMISTIC:
50769 case TYPE_WARNING:
50770 case SCHEMABINDING:
50771 case CALLER:
50772 case INPUT:
50773 case OWNER:
50774 case SNAPSHOT:
50775 case REPEATABLE:
50776 case SERIALIZABLE:
50777 case NATIVE_COMPILATION:
50778 case VIEW_METADATA:
50779 case INSTEAD:
50780 case APPEND:
50781 case INCREMENT:
50782 case CACHE:
50783 case MINVALUE:
50784 case MAXVALUE:
50785 case RESTART:
50786 case LOB_COMPACTION:
50787 case COMPRESS_ALL_ROW_GROUPS:
50788 case REORGANIZE:
50789 case RESUME:
50790 case PAUSE:
50791 case ABORT:
50792 case ACCELERATED_DATABASE_RECOVERY:
50793 case PERSISTENT_VERSION_STORE_FILEGROUP:
50794 case IMMEDIATE:
50795 case NO_WAIT:
50796 case TARGET_RECOVERY_TIME:
50797 case SECONDS:
50798 case HONOR_BROKER_PRIORITY:
50799 case ERROR_BROKER_CONVERSATIONS:
50800 case NEW_BROKER:
50801 case DISABLE_BROKER:
50802 case ENABLE_BROKER:
50803 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
50804 case READ_COMMITTED_SNAPSHOT:
50805 case ALLOW_SNAPSHOT_ISOLATION:
50806 case RECURSIVE_TRIGGERS:
50807 case QUOTED_IDENTIFIER:
50808 case NUMERIC_ROUNDABORT:
50809 case CONCAT_NULL_YIELDS_NULL:
50810 case COMPATIBILITY_LEVEL:
50811 case ARITHABORT:
50812 case ANSI_WARNINGS:
50813 case ANSI_PADDING:
50814 case ANSI_NULLS:
50815 case ANSI_NULL_DEFAULT:
50816 case PAGE_VERIFY:
50817 case CHECKSUM:
50818 case TORN_PAGE_DETECTION:
50819 case BULK_LOGGED:
50820 case RECOVERY:
50821 case TOTAL_EXECUTION_CPU_TIME_MS:
50822 case TOTAL_COMPILE_CPU_TIME_MS:
50823 case STALE_CAPTURE_POLICY_THRESHOLD:
50824 case EXECUTION_COUNT:
50825 case QUERY_CAPTURE_POLICY:
50826 case WAIT_STATS_CAPTURE_MODE:
50827 case MAX_PLANS_PER_QUERY:
50828 case QUERY_CAPTURE_MODE:
50829 case SIZE_BASED_CLEANUP_MODE:
50830 case INTERVAL_LENGTH_MINUTES:
50831 case MAX_STORAGE_SIZE_MB:
50832 case DATA_FLUSH_INTERVAL_SECONDS:
50833 case CLEANUP_POLICY:
50834 case CUSTOM:
50835 case STALE_QUERY_THRESHOLD_DAYS:
50836 case OPERATION_MODE:
50837 case QUERY_STORE:
50838 case CURSOR_DEFAULT:
50839 case GLOBAL:
50840 case CURSOR_CLOSE_ON_COMMIT:
50841 case HOURS:
50842 case CHANGE_RETENTION:
50843 case AUTO_CLEANUP:
50844 case CHANGE_TRACKING:
50845 case AUTOMATIC_TUNING:
50846 case FORCE_LAST_GOOD_PLAN:
50847 case AUTO_UPDATE_STATISTICS_ASYNC:
50848 case AUTO_UPDATE_STATISTICS:
50849 case AUTO_SHRINK:
50850 case AUTO_CREATE_STATISTICS:
50851 case INCREMENTAL:
50852 case AUTO_CLOSE:
50853 case DATA_RETENTION:
50854 case TEMPORAL_HISTORY_RETENTION:
50855 case EDITION:
50856 case MIXED_PAGE_ALLOCATION:
50857 case DISABLED:
50858 case ALLOWED:
50859 case HADR:
50860 case MULTI_USER:
50861 case RESTRICTED_USER:
50862 case SINGLE_USER:
50863 case OFFLINE:
50864 case EMERGENCY:
50865 case SUSPEND:
50866 case DATE_CORRELATION_OPTIMIZATION:
50867 case ELASTIC_POOL:
50868 case SERVICE_OBJECTIVE:
50869 case DATABASE_NAME:
50870 case ALLOW_CONNECTIONS:
50871 case GEO:
50872 case NAMED:
50873 case DATEFIRST:
50874 case BACKUP_STORAGE_REDUNDANCY:
50875 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
50876 case SECONDARY:
50877 case FAILOVER:
50878 case DEFAULT_FULLTEXT_LANGUAGE:
50879 case DEFAULT_LANGUAGE:
50880 case INLINE:
50881 case NESTED_TRIGGERS:
50882 case TRANSFORM_NOISE_WORDS:
50883 case TWO_DIGIT_YEAR_CUTOFF:
50884 case PERSISTENT_LOG_BUFFER:
50885 case DIRECTORY_NAME:
50886 case DATEFORMAT:
50887 case DELAYED_DURABILITY:
50888 case AUTHORIZATION:
50889 case TRANSFER:
50890 case PROVIDER:
50891 case SEARCH:
50892 case MEMBER:
50893 case IDENTIFIER_:
50894 case DELIMITED_IDENTIFIER_:
50895 {
50896 setState(6892);
50897 schemaName();
50898 }
50899 break;
50900 case NULL:
50901 {
50902 setState(6893);
50903 match(NULL);
50904 }
50905 break;
50906 default:
50907 throw new NoViableAltException(this);
50908 }
50909 }
50910 break;
50911 case LOGIN:
50912 enterOuterAlt(_localctx, 3);
50913 {
50914 setState(6896);
50915 match(LOGIN);
50916 setState(6897);
50917 match(EQ_);
50918 setState(6898);
50919 identifier();
50920 }
50921 break;
50922 case PASSWORD:
50923 enterOuterAlt(_localctx, 4);
50924 {
50925 setState(6899);
50926 match(PASSWORD);
50927 setState(6900);
50928 match(EQ_);
50929 setState(6901);
50930 stringLiterals();
50931 setState(6905);
50932 _errHandler.sync(this);
50933 _la = _input.LA(1);
50934 if (_la==OLD_PASSWORD) {
50935 {
50936 setState(6902);
50937 match(OLD_PASSWORD);
50938 setState(6903);
50939 match(EQ_);
50940 setState(6904);
50941 stringLiterals();
50942 }
50943 }
50944
50945 }
50946 break;
50947 case DEFAULT_LANGUAGE:
50948 enterOuterAlt(_localctx, 5);
50949 {
50950 setState(6907);
50951 match(DEFAULT_LANGUAGE);
50952 setState(6908);
50953 match(EQ_);
50954 setState(6911);
50955 _errHandler.sync(this);
50956 switch (_input.LA(1)) {
50957 case NONE:
50958 {
50959 setState(6909);
50960 match(NONE);
50961 }
50962 break;
50963 case TRUNCATE:
50964 case SCHEMA:
50965 case COLUMNS:
50966 case PRECISION:
50967 case FUNCTION:
50968 case TRIGGER:
50969 case CAST:
50970 case TRIM:
50971 case SUBSTRING:
50972 case OFF:
50973 case GROUP:
50974 case LIMIT:
50975 case OFFSET:
50976 case SAVEPOINT:
50977 case BOOLEAN:
50978 case ARRAY:
50979 case DATE:
50980 case TIMESTAMP:
50981 case LOCALTIME:
50982 case LOCALTIMESTAMP:
50983 case YEAR:
50984 case QUARTER:
50985 case MONTH:
50986 case WEEK:
50987 case DAY:
50988 case SECOND:
50989 case MICROSECOND:
50990 case MAX:
50991 case MIN:
50992 case SUM:
50993 case COUNT:
50994 case AVG:
50995 case ENABLE:
50996 case DISABLE:
50997 case INSTANCE:
50998 case DO:
50999 case DEFINER:
51000 case SQL:
51001 case CASCADED:
51002 case LOCAL:
51003 case NEXT:
51004 case NAME:
51005 case INTEGER:
51006 case TYPE:
51007 case TEXT:
51008 case VIEWS:
51009 case READ_ONLY:
51010 case DATABASE:
51011 case RETURNS:
51012 case DATEPART:
51013 case PASSWORD:
51014 case BINARY:
51015 case HIDDEN_:
51016 case MOD:
51017 case PARTITION:
51018 case PARTITIONS:
51019 case TOP:
51020 case ROW:
51021 case ROWS:
51022 case XOR:
51023 case ALWAYS:
51024 case ROLE:
51025 case START:
51026 case ALGORITHM:
51027 case AUTO:
51028 case BLOCKERS:
51029 case CLUSTERED:
51030 case NONCLUSTERED:
51031 case COLUMNSTORE:
51032 case CONTENT:
51033 case YEARS:
51034 case MONTHS:
51035 case WEEKS:
51036 case DAYS:
51037 case MINUTES:
51038 case DENY:
51039 case DETERMINISTIC:
51040 case DISTRIBUTION:
51041 case DOCUMENT:
51042 case DURABILITY:
51043 case ENCRYPTED:
51044 case FILESTREAM:
51045 case FILETABLE:
51046 case FILLFACTOR:
51047 case FOLLOWING:
51048 case HASH:
51049 case HEAP:
51050 case INBOUND:
51051 case OUTBOUND:
51052 case UNBOUNDED:
51053 case INFINITE:
51054 case LOGIN:
51055 case MASKED:
51056 case MAXDOP:
51057 case MOVE:
51058 case NOCHECK:
51059 case OBJECT:
51060 case ONLINE:
51061 case OVER:
51062 case PAGE:
51063 case PAUSED:
51064 case PERIOD:
51065 case PERSISTED:
51066 case PRECEDING:
51067 case RANDOMIZED:
51068 case RANGE:
51069 case REBUILD:
51070 case REPLICATE:
51071 case REPLICATION:
51072 case RESUMABLE:
51073 case ROWGUIDCOL:
51074 case SAVE:
51075 case SELF:
51076 case SPARSE:
51077 case SWITCH:
51078 case TRAN:
51079 case TRANCOUNT:
51080 case CONTROL:
51081 case CONCAT:
51082 case TAKE:
51083 case OWNERSHIP:
51084 case DEFINITION:
51085 case APPLICATION:
51086 case ASSEMBLY:
51087 case SYMMETRIC:
51088 case ASYMMETRIC:
51089 case SERVER:
51090 case RECEIVE:
51091 case CHANGE:
51092 case TRACE:
51093 case TRACKING:
51094 case RESOURCES:
51095 case SETTINGS:
51096 case STATE:
51097 case AVAILABILITY:
51098 case CREDENTIAL:
51099 case ENDPOINT:
51100 case EVENT:
51101 case NOTIFICATION:
51102 case LINKED:
51103 case AUDIT:
51104 case DDL:
51105 case XML:
51106 case IMPERSONATE:
51107 case SECURABLES:
51108 case AUTHENTICATE:
51109 case EXTERNAL:
51110 case ACCESS:
51111 case ADMINISTER:
51112 case BULK:
51113 case OPERATIONS:
51114 case UNSAFE:
51115 case SHUTDOWN:
51116 case SCOPED:
51117 case CONFIGURATION:
51118 case DATASPACE:
51119 case SERVICE:
51120 case CERTIFICATE:
51121 case CONTRACT:
51122 case ENCRYPTION:
51123 case MASTER:
51124 case DATA:
51125 case SOURCE:
51126 case FILE:
51127 case FORMAT:
51128 case LIBRARY:
51129 case FULLTEXT:
51130 case MASK:
51131 case UNMASK:
51132 case MESSAGE:
51133 case REMOTE:
51134 case BINDING:
51135 case ROUTE:
51136 case SECURITY:
51137 case POLICY:
51138 case AGGREGATE:
51139 case QUEUE:
51140 case RULE:
51141 case SYNONYM:
51142 case COLLECTION:
51143 case SCRIPT:
51144 case KILL:
51145 case BACKUP:
51146 case LOG:
51147 case SHOWPLAN:
51148 case SUBSCRIBE:
51149 case QUERY:
51150 case NOTIFICATIONS:
51151 case CHECKPOINT:
51152 case SEQUENCE:
51153 case ABORT_AFTER_WAIT:
51154 case ALLOW_PAGE_LOCKS:
51155 case ALLOW_ROW_LOCKS:
51156 case ALL_SPARSE_COLUMNS:
51157 case BUCKET_COUNT:
51158 case COLUMNSTORE_ARCHIVE:
51159 case COLUMN_ENCRYPTION_KEY:
51160 case COLUMN_SET:
51161 case COMPRESSION_DELAY:
51162 case DATABASE_DEAULT:
51163 case DATA_COMPRESSION:
51164 case DATA_CONSISTENCY_CHECK:
51165 case ENCRYPTION_TYPE:
51166 case SYSTEM_TIME:
51167 case SYSTEM_VERSIONING:
51168 case TEXTIMAGE_ON:
51169 case WAIT_AT_LOW_PRIORITY:
51170 case STATISTICS_INCREMENTAL:
51171 case STATISTICS_NORECOMPUTE:
51172 case ROUND_ROBIN:
51173 case SCHEMA_AND_DATA:
51174 case SCHEMA_ONLY:
51175 case SORT_IN_TEMPDB:
51176 case IGNORE_DUP_KEY:
51177 case IMPLICIT_TRANSACTIONS:
51178 case MAX_DURATION:
51179 case MEMORY_OPTIMIZED:
51180 case MIGRATION_STATE:
51181 case PAD_INDEX:
51182 case REMOTE_DATA_ARCHIVE:
51183 case FILESTREAM_ON:
51184 case FILETABLE_COLLATE_FILENAME:
51185 case FILETABLE_DIRECTORY:
51186 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
51187 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
51188 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
51189 case FILTER_PREDICATE:
51190 case HISTORY_RETENTION_PERIOD:
51191 case HISTORY_TABLE:
51192 case LOCK_ESCALATION:
51193 case DROP_EXISTING:
51194 case ROW_NUMBER:
51195 case FIRST:
51196 case DATETIME2:
51197 case OUTPUT:
51198 case INSERTED:
51199 case DELETED:
51200 case FILENAME:
51201 case SIZE:
51202 case MAXSIZE:
51203 case FILEGROWTH:
51204 case UNLIMITED:
51205 case KB:
51206 case MB:
51207 case GB:
51208 case TB:
51209 case CONTAINS:
51210 case MEMORY_OPTIMIZED_DATA:
51211 case FILEGROUP:
51212 case NON_TRANSACTED_ACCESS:
51213 case DB_CHAINING:
51214 case TRUSTWORTHY:
51215 case FORWARD_ONLY:
51216 case KEYSET:
51217 case FAST_FORWARD:
51218 case SCROLL_LOCKS:
51219 case OPTIMISTIC:
51220 case TYPE_WARNING:
51221 case SCHEMABINDING:
51222 case CALLER:
51223 case INPUT:
51224 case OWNER:
51225 case SNAPSHOT:
51226 case REPEATABLE:
51227 case SERIALIZABLE:
51228 case NATIVE_COMPILATION:
51229 case VIEW_METADATA:
51230 case INSTEAD:
51231 case APPEND:
51232 case INCREMENT:
51233 case CACHE:
51234 case MINVALUE:
51235 case MAXVALUE:
51236 case RESTART:
51237 case LOB_COMPACTION:
51238 case COMPRESS_ALL_ROW_GROUPS:
51239 case REORGANIZE:
51240 case RESUME:
51241 case PAUSE:
51242 case ABORT:
51243 case ACCELERATED_DATABASE_RECOVERY:
51244 case PERSISTENT_VERSION_STORE_FILEGROUP:
51245 case IMMEDIATE:
51246 case NO_WAIT:
51247 case TARGET_RECOVERY_TIME:
51248 case SECONDS:
51249 case HONOR_BROKER_PRIORITY:
51250 case ERROR_BROKER_CONVERSATIONS:
51251 case NEW_BROKER:
51252 case DISABLE_BROKER:
51253 case ENABLE_BROKER:
51254 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
51255 case READ_COMMITTED_SNAPSHOT:
51256 case ALLOW_SNAPSHOT_ISOLATION:
51257 case RECURSIVE_TRIGGERS:
51258 case QUOTED_IDENTIFIER:
51259 case NUMERIC_ROUNDABORT:
51260 case CONCAT_NULL_YIELDS_NULL:
51261 case COMPATIBILITY_LEVEL:
51262 case ARITHABORT:
51263 case ANSI_WARNINGS:
51264 case ANSI_PADDING:
51265 case ANSI_NULLS:
51266 case ANSI_NULL_DEFAULT:
51267 case PAGE_VERIFY:
51268 case CHECKSUM:
51269 case TORN_PAGE_DETECTION:
51270 case BULK_LOGGED:
51271 case RECOVERY:
51272 case TOTAL_EXECUTION_CPU_TIME_MS:
51273 case TOTAL_COMPILE_CPU_TIME_MS:
51274 case STALE_CAPTURE_POLICY_THRESHOLD:
51275 case EXECUTION_COUNT:
51276 case QUERY_CAPTURE_POLICY:
51277 case WAIT_STATS_CAPTURE_MODE:
51278 case MAX_PLANS_PER_QUERY:
51279 case QUERY_CAPTURE_MODE:
51280 case SIZE_BASED_CLEANUP_MODE:
51281 case INTERVAL_LENGTH_MINUTES:
51282 case MAX_STORAGE_SIZE_MB:
51283 case DATA_FLUSH_INTERVAL_SECONDS:
51284 case CLEANUP_POLICY:
51285 case CUSTOM:
51286 case STALE_QUERY_THRESHOLD_DAYS:
51287 case OPERATION_MODE:
51288 case QUERY_STORE:
51289 case CURSOR_DEFAULT:
51290 case GLOBAL:
51291 case CURSOR_CLOSE_ON_COMMIT:
51292 case HOURS:
51293 case CHANGE_RETENTION:
51294 case AUTO_CLEANUP:
51295 case CHANGE_TRACKING:
51296 case AUTOMATIC_TUNING:
51297 case FORCE_LAST_GOOD_PLAN:
51298 case AUTO_UPDATE_STATISTICS_ASYNC:
51299 case AUTO_UPDATE_STATISTICS:
51300 case AUTO_SHRINK:
51301 case AUTO_CREATE_STATISTICS:
51302 case INCREMENTAL:
51303 case AUTO_CLOSE:
51304 case DATA_RETENTION:
51305 case TEMPORAL_HISTORY_RETENTION:
51306 case EDITION:
51307 case MIXED_PAGE_ALLOCATION:
51308 case DISABLED:
51309 case ALLOWED:
51310 case HADR:
51311 case MULTI_USER:
51312 case RESTRICTED_USER:
51313 case SINGLE_USER:
51314 case OFFLINE:
51315 case EMERGENCY:
51316 case SUSPEND:
51317 case DATE_CORRELATION_OPTIMIZATION:
51318 case ELASTIC_POOL:
51319 case SERVICE_OBJECTIVE:
51320 case DATABASE_NAME:
51321 case ALLOW_CONNECTIONS:
51322 case GEO:
51323 case NAMED:
51324 case DATEFIRST:
51325 case BACKUP_STORAGE_REDUNDANCY:
51326 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
51327 case SECONDARY:
51328 case FAILOVER:
51329 case DEFAULT_FULLTEXT_LANGUAGE:
51330 case DEFAULT_LANGUAGE:
51331 case INLINE:
51332 case NESTED_TRIGGERS:
51333 case TRANSFORM_NOISE_WORDS:
51334 case TWO_DIGIT_YEAR_CUTOFF:
51335 case PERSISTENT_LOG_BUFFER:
51336 case DIRECTORY_NAME:
51337 case DATEFORMAT:
51338 case DELAYED_DURABILITY:
51339 case AUTHORIZATION:
51340 case TRANSFER:
51341 case PROVIDER:
51342 case SEARCH:
51343 case MEMBER:
51344 case IDENTIFIER_:
51345 case DELIMITED_IDENTIFIER_:
51346 {
51347 setState(6910);
51348 identifier();
51349 }
51350 break;
51351 default:
51352 throw new NoViableAltException(this);
51353 }
51354 }
51355 break;
51356 case ALLOW_ENCRYPTED_VALUE_MODIFICATIONS:
51357 enterOuterAlt(_localctx, 6);
51358 {
51359 setState(6913);
51360 match(ALLOW_ENCRYPTED_VALUE_MODIFICATIONS);
51361 setState(6914);
51362 match(EQ_);
51363 setState(6916);
51364 _errHandler.sync(this);
51365 _la = _input.LA(1);
51366 if (_la==ON || _la==OFF) {
51367 {
51368 setState(6915);
51369 _la = _input.LA(1);
51370 if ( !(_la==ON || _la==OFF) ) {
51371 _errHandler.recoverInline(this);
51372 }
51373 else {
51374 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51375 _errHandler.reportMatch(this);
51376 consume();
51377 }
51378 }
51379 }
51380
51381 }
51382 break;
51383 default:
51384 throw new NoViableAltException(this);
51385 }
51386 }
51387 catch (RecognitionException re) {
51388 _localctx.exception = re;
51389 _errHandler.reportError(this, re);
51390 _errHandler.recover(this, re);
51391 }
51392 finally {
51393 exitRule();
51394 }
51395 return _localctx;
51396 }
51397
51398 public static class CreateRoleContext extends ParserRuleContext {
51399 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
51400 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
51401 public List<NameContext> name() {
51402 return getRuleContexts(NameContext.class);
51403 }
51404 public NameContext name(int i) {
51405 return getRuleContext(NameContext.class,i);
51406 }
51407 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
51408 public CreateRoleContext(ParserRuleContext parent, int invokingState) {
51409 super(parent, invokingState);
51410 }
51411 @Override public int getRuleIndex() { return RULE_createRole; }
51412 @Override
51413 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51414 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateRole(this);
51415 else return visitor.visitChildren(this);
51416 }
51417 }
51418
51419 public final CreateRoleContext createRole() throws RecognitionException {
51420 CreateRoleContext _localctx = new CreateRoleContext(_ctx, getState());
51421 enterRule(_localctx, 950, RULE_createRole);
51422 int _la;
51423 try {
51424 enterOuterAlt(_localctx, 1);
51425 {
51426 setState(6920);
51427 match(CREATE);
51428 setState(6921);
51429 match(ROLE);
51430 setState(6922);
51431 name();
51432 setState(6925);
51433 _errHandler.sync(this);
51434 _la = _input.LA(1);
51435 if (_la==AUTHORIZATION) {
51436 {
51437 setState(6923);
51438 match(AUTHORIZATION);
51439 setState(6924);
51440 name();
51441 }
51442 }
51443
51444 }
51445 }
51446 catch (RecognitionException re) {
51447 _localctx.exception = re;
51448 _errHandler.reportError(this, re);
51449 _errHandler.recover(this, re);
51450 }
51451 finally {
51452 exitRule();
51453 }
51454 return _localctx;
51455 }
51456
51457 public static class DropRoleContext extends ParserRuleContext {
51458 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
51459 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
51460 public NameContext name() {
51461 return getRuleContext(NameContext.class,0);
51462 }
51463 public IfExistsContext ifExists() {
51464 return getRuleContext(IfExistsContext.class,0);
51465 }
51466 public DropRoleContext(ParserRuleContext parent, int invokingState) {
51467 super(parent, invokingState);
51468 }
51469 @Override public int getRuleIndex() { return RULE_dropRole; }
51470 @Override
51471 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51472 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropRole(this);
51473 else return visitor.visitChildren(this);
51474 }
51475 }
51476
51477 public final DropRoleContext dropRole() throws RecognitionException {
51478 DropRoleContext _localctx = new DropRoleContext(_ctx, getState());
51479 enterRule(_localctx, 952, RULE_dropRole);
51480 int _la;
51481 try {
51482 enterOuterAlt(_localctx, 1);
51483 {
51484 setState(6927);
51485 match(DROP);
51486 setState(6928);
51487 match(ROLE);
51488 setState(6930);
51489 _errHandler.sync(this);
51490 _la = _input.LA(1);
51491 if (_la==IF) {
51492 {
51493 setState(6929);
51494 ifExists();
51495 }
51496 }
51497
51498 setState(6932);
51499 name();
51500 }
51501 }
51502 catch (RecognitionException re) {
51503 _localctx.exception = re;
51504 _errHandler.reportError(this, re);
51505 _errHandler.recover(this, re);
51506 }
51507 finally {
51508 exitRule();
51509 }
51510 return _localctx;
51511 }
51512
51513 public static class AlterRoleContext extends ParserRuleContext {
51514 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
51515 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
51516 public List<NameContext> name() {
51517 return getRuleContexts(NameContext.class);
51518 }
51519 public NameContext name(int i) {
51520 return getRuleContext(NameContext.class,i);
51521 }
51522 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
51523 public TerminalNode MEMBER() { return getToken(SQLServerStatementParser.MEMBER, 0); }
51524 public PrincipalContext principal() {
51525 return getRuleContext(PrincipalContext.class,0);
51526 }
51527 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
51528 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
51529 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
51530 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
51531 public AlterRoleContext(ParserRuleContext parent, int invokingState) {
51532 super(parent, invokingState);
51533 }
51534 @Override public int getRuleIndex() { return RULE_alterRole; }
51535 @Override
51536 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51537 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterRole(this);
51538 else return visitor.visitChildren(this);
51539 }
51540 }
51541
51542 public final AlterRoleContext alterRole() throws RecognitionException {
51543 AlterRoleContext _localctx = new AlterRoleContext(_ctx, getState());
51544 enterRule(_localctx, 954, RULE_alterRole);
51545 try {
51546 enterOuterAlt(_localctx, 1);
51547 {
51548 setState(6934);
51549 match(ALTER);
51550 setState(6935);
51551 match(ROLE);
51552 setState(6936);
51553 name();
51554 setState(6947);
51555 _errHandler.sync(this);
51556 switch (_input.LA(1)) {
51557 case ADD:
51558 {
51559 setState(6937);
51560 match(ADD);
51561 setState(6938);
51562 match(MEMBER);
51563 setState(6939);
51564 principal();
51565 }
51566 break;
51567 case DROP:
51568 {
51569 setState(6940);
51570 match(DROP);
51571 setState(6941);
51572 match(MEMBER);
51573 setState(6942);
51574 principal();
51575 }
51576 break;
51577 case WITH:
51578 {
51579 setState(6943);
51580 match(WITH);
51581 setState(6944);
51582 match(NAME);
51583 setState(6945);
51584 match(EQ_);
51585 setState(6946);
51586 name();
51587 }
51588 break;
51589 default:
51590 throw new NoViableAltException(this);
51591 }
51592 }
51593 }
51594 catch (RecognitionException re) {
51595 _localctx.exception = re;
51596 _errHandler.reportError(this, re);
51597 _errHandler.recover(this, re);
51598 }
51599 finally {
51600 exitRule();
51601 }
51602 return _localctx;
51603 }
51604
51605 public static class CreateLoginContext extends ParserRuleContext {
51606 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
51607 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
51608 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
51609 return getRuleContext(IgnoredNameIdentifierContext.class,0);
51610 }
51611 public CreateLoginForSQLServerClauseContext createLoginForSQLServerClause() {
51612 return getRuleContext(CreateLoginForSQLServerClauseContext.class,0);
51613 }
51614 public CreateLoginForAzureSQLDatabaseClauseContext createLoginForAzureSQLDatabaseClause() {
51615 return getRuleContext(CreateLoginForAzureSQLDatabaseClauseContext.class,0);
51616 }
51617 public CreateLoginForAzureManagedInstanceClauseContext createLoginForAzureManagedInstanceClause() {
51618 return getRuleContext(CreateLoginForAzureManagedInstanceClauseContext.class,0);
51619 }
51620 public CreateLoginForAzureSynapseAnalyticsClauseContext createLoginForAzureSynapseAnalyticsClause() {
51621 return getRuleContext(CreateLoginForAzureSynapseAnalyticsClauseContext.class,0);
51622 }
51623 public CreateLoginForAnalyticsPlatformSystemClauseContext createLoginForAnalyticsPlatformSystemClause() {
51624 return getRuleContext(CreateLoginForAnalyticsPlatformSystemClauseContext.class,0);
51625 }
51626 public CreateLoginContext(ParserRuleContext parent, int invokingState) {
51627 super(parent, invokingState);
51628 }
51629 @Override public int getRuleIndex() { return RULE_createLogin; }
51630 @Override
51631 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51632 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLogin(this);
51633 else return visitor.visitChildren(this);
51634 }
51635 }
51636
51637 public final CreateLoginContext createLogin() throws RecognitionException {
51638 CreateLoginContext _localctx = new CreateLoginContext(_ctx, getState());
51639 enterRule(_localctx, 956, RULE_createLogin);
51640 try {
51641 enterOuterAlt(_localctx, 1);
51642 {
51643 setState(6949);
51644 match(CREATE);
51645 setState(6950);
51646 match(LOGIN);
51647 setState(6951);
51648 ignoredNameIdentifier();
51649 setState(6957);
51650 _errHandler.sync(this);
51651 switch ( getInterpreter().adaptivePredict(_input,805,_ctx) ) {
51652 case 1:
51653 {
51654 setState(6952);
51655 createLoginForSQLServerClause();
51656 }
51657 break;
51658 case 2:
51659 {
51660 setState(6953);
51661 createLoginForAzureSQLDatabaseClause();
51662 }
51663 break;
51664 case 3:
51665 {
51666 setState(6954);
51667 createLoginForAzureManagedInstanceClause();
51668 }
51669 break;
51670 case 4:
51671 {
51672 setState(6955);
51673 createLoginForAzureSynapseAnalyticsClause();
51674 }
51675 break;
51676 case 5:
51677 {
51678 setState(6956);
51679 createLoginForAnalyticsPlatformSystemClause();
51680 }
51681 break;
51682 }
51683 }
51684 }
51685 catch (RecognitionException re) {
51686 _localctx.exception = re;
51687 _errHandler.reportError(this, re);
51688 _errHandler.recover(this, re);
51689 }
51690 finally {
51691 exitRule();
51692 }
51693 return _localctx;
51694 }
51695
51696 public static class CreateLoginForSQLServerClauseContext extends ParserRuleContext {
51697 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
51698 public CreateLoginForSQLServerOptionListContext createLoginForSQLServerOptionList() {
51699 return getRuleContext(CreateLoginForSQLServerOptionListContext.class,0);
51700 }
51701 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
51702 public SourcesContext sources() {
51703 return getRuleContext(SourcesContext.class,0);
51704 }
51705 public CreateLoginForSQLServerClauseContext(ParserRuleContext parent, int invokingState) {
51706 super(parent, invokingState);
51707 }
51708 @Override public int getRuleIndex() { return RULE_createLoginForSQLServerClause; }
51709 @Override
51710 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51711 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForSQLServerClause(this);
51712 else return visitor.visitChildren(this);
51713 }
51714 }
51715
51716 public final CreateLoginForSQLServerClauseContext createLoginForSQLServerClause() throws RecognitionException {
51717 CreateLoginForSQLServerClauseContext _localctx = new CreateLoginForSQLServerClauseContext(_ctx, getState());
51718 enterRule(_localctx, 958, RULE_createLoginForSQLServerClause);
51719 try {
51720 setState(6963);
51721 _errHandler.sync(this);
51722 switch (_input.LA(1)) {
51723 case WITH:
51724 enterOuterAlt(_localctx, 1);
51725 {
51726 setState(6959);
51727 match(WITH);
51728 setState(6960);
51729 createLoginForSQLServerOptionList();
51730 }
51731 break;
51732 case FROM:
51733 enterOuterAlt(_localctx, 2);
51734 {
51735 setState(6961);
51736 match(FROM);
51737 setState(6962);
51738 sources();
51739 }
51740 break;
51741 default:
51742 throw new NoViableAltException(this);
51743 }
51744 }
51745 catch (RecognitionException re) {
51746 _localctx.exception = re;
51747 _errHandler.reportError(this, re);
51748 _errHandler.recover(this, re);
51749 }
51750 finally {
51751 exitRule();
51752 }
51753 return _localctx;
51754 }
51755
51756 public static class CreateLoginForSQLServerOptionListContext extends ParserRuleContext {
51757 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
51758 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
51759 public StringLiteralsContext stringLiterals() {
51760 return getRuleContext(StringLiteralsContext.class,0);
51761 }
51762 public HashedPasswordContext hashedPassword() {
51763 return getRuleContext(HashedPasswordContext.class,0);
51764 }
51765 public TerminalNode HASHED() { return getToken(SQLServerStatementParser.HASHED, 0); }
51766 public TerminalNode MUST_CHANGE() { return getToken(SQLServerStatementParser.MUST_CHANGE, 0); }
51767 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
51768 public TerminalNode COMMA_(int i) {
51769 return getToken(SQLServerStatementParser.COMMA_, i);
51770 }
51771 public List<CreateLoginForSQLServerOptionListClauseContext> createLoginForSQLServerOptionListClause() {
51772 return getRuleContexts(CreateLoginForSQLServerOptionListClauseContext.class);
51773 }
51774 public CreateLoginForSQLServerOptionListClauseContext createLoginForSQLServerOptionListClause(int i) {
51775 return getRuleContext(CreateLoginForSQLServerOptionListClauseContext.class,i);
51776 }
51777 public CreateLoginForSQLServerOptionListContext(ParserRuleContext parent, int invokingState) {
51778 super(parent, invokingState);
51779 }
51780 @Override public int getRuleIndex() { return RULE_createLoginForSQLServerOptionList; }
51781 @Override
51782 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51783 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForSQLServerOptionList(this);
51784 else return visitor.visitChildren(this);
51785 }
51786 }
51787
51788 public final CreateLoginForSQLServerOptionListContext createLoginForSQLServerOptionList() throws RecognitionException {
51789 CreateLoginForSQLServerOptionListContext _localctx = new CreateLoginForSQLServerOptionListContext(_ctx, getState());
51790 enterRule(_localctx, 960, RULE_createLoginForSQLServerOptionList);
51791 int _la;
51792 try {
51793 enterOuterAlt(_localctx, 1);
51794 {
51795 setState(6965);
51796 match(PASSWORD);
51797 setState(6966);
51798 match(EQ_);
51799 setState(6971);
51800 _errHandler.sync(this);
51801 switch (_input.LA(1)) {
51802 case STRING_:
51803 case NCHAR_TEXT:
51804 {
51805 setState(6967);
51806 stringLiterals();
51807 }
51808 break;
51809 case HEX_DIGIT_:
51810 {
51811 setState(6968);
51812 hashedPassword();
51813 setState(6969);
51814 match(HASHED);
51815 }
51816 break;
51817 default:
51818 throw new NoViableAltException(this);
51819 }
51820 setState(6974);
51821 _errHandler.sync(this);
51822 _la = _input.LA(1);
51823 if (_la==MUST_CHANGE) {
51824 {
51825 setState(6973);
51826 match(MUST_CHANGE);
51827 }
51828 }
51829
51830 setState(6985);
51831 _errHandler.sync(this);
51832 _la = _input.LA(1);
51833 if (_la==COMMA_) {
51834 {
51835 setState(6976);
51836 match(COMMA_);
51837 setState(6977);
51838 createLoginForSQLServerOptionListClause();
51839 setState(6982);
51840 _errHandler.sync(this);
51841 _la = _input.LA(1);
51842 while (_la==COMMA_) {
51843 {
51844 {
51845 setState(6978);
51846 match(COMMA_);
51847 setState(6979);
51848 createLoginForSQLServerOptionListClause();
51849 }
51850 }
51851 setState(6984);
51852 _errHandler.sync(this);
51853 _la = _input.LA(1);
51854 }
51855 }
51856 }
51857
51858 }
51859 }
51860 catch (RecognitionException re) {
51861 _localctx.exception = re;
51862 _errHandler.reportError(this, re);
51863 _errHandler.recover(this, re);
51864 }
51865 finally {
51866 exitRule();
51867 }
51868 return _localctx;
51869 }
51870
51871 public static class CreateLoginForSQLServerOptionListClauseContext extends ParserRuleContext {
51872 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
51873 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
51874 public SidContext sid() {
51875 return getRuleContext(SidContext.class,0);
51876 }
51877 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
51878 public DatabaseNameContext databaseName() {
51879 return getRuleContext(DatabaseNameContext.class,0);
51880 }
51881 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
51882 public IdentifierContext identifier() {
51883 return getRuleContext(IdentifierContext.class,0);
51884 }
51885 public TerminalNode CHECK_EXPIRATION() { return getToken(SQLServerStatementParser.CHECK_EXPIRATION, 0); }
51886 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
51887 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
51888 public TerminalNode CHECK_POLICY() { return getToken(SQLServerStatementParser.CHECK_POLICY, 0); }
51889 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
51890 public CreateLoginForSQLServerOptionListClauseContext(ParserRuleContext parent, int invokingState) {
51891 super(parent, invokingState);
51892 }
51893 @Override public int getRuleIndex() { return RULE_createLoginForSQLServerOptionListClause; }
51894 @Override
51895 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51896 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForSQLServerOptionListClause(this);
51897 else return visitor.visitChildren(this);
51898 }
51899 }
51900
51901 public final CreateLoginForSQLServerOptionListClauseContext createLoginForSQLServerOptionListClause() throws RecognitionException {
51902 CreateLoginForSQLServerOptionListClauseContext _localctx = new CreateLoginForSQLServerOptionListClauseContext(_ctx, getState());
51903 enterRule(_localctx, 962, RULE_createLoginForSQLServerOptionListClause);
51904 int _la;
51905 try {
51906 setState(7005);
51907 _errHandler.sync(this);
51908 switch (_input.LA(1)) {
51909 case SID:
51910 enterOuterAlt(_localctx, 1);
51911 {
51912 setState(6987);
51913 match(SID);
51914 setState(6988);
51915 match(EQ_);
51916 setState(6989);
51917 sid();
51918 }
51919 break;
51920 case DEFAULT_DATABASE:
51921 enterOuterAlt(_localctx, 2);
51922 {
51923 setState(6990);
51924 match(DEFAULT_DATABASE);
51925 setState(6991);
51926 match(EQ_);
51927 setState(6992);
51928 databaseName();
51929 }
51930 break;
51931 case DEFAULT_LANGUAGE:
51932 enterOuterAlt(_localctx, 3);
51933 {
51934 setState(6993);
51935 match(DEFAULT_LANGUAGE);
51936 setState(6994);
51937 match(EQ_);
51938 setState(6995);
51939 identifier();
51940 }
51941 break;
51942 case CHECK_EXPIRATION:
51943 enterOuterAlt(_localctx, 4);
51944 {
51945 setState(6996);
51946 match(CHECK_EXPIRATION);
51947 setState(6997);
51948 match(EQ_);
51949 setState(6998);
51950 _la = _input.LA(1);
51951 if ( !(_la==ON || _la==OFF) ) {
51952 _errHandler.recoverInline(this);
51953 }
51954 else {
51955 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51956 _errHandler.reportMatch(this);
51957 consume();
51958 }
51959 }
51960 break;
51961 case CHECK_POLICY:
51962 enterOuterAlt(_localctx, 5);
51963 {
51964 setState(6999);
51965 match(CHECK_POLICY);
51966 setState(7000);
51967 match(EQ_);
51968 setState(7001);
51969 _la = _input.LA(1);
51970 if ( !(_la==ON || _la==OFF) ) {
51971 _errHandler.recoverInline(this);
51972 }
51973 else {
51974 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51975 _errHandler.reportMatch(this);
51976 consume();
51977 }
51978 }
51979 break;
51980 case CREDENTIAL:
51981 enterOuterAlt(_localctx, 6);
51982 {
51983 setState(7002);
51984 match(CREDENTIAL);
51985 setState(7003);
51986 match(EQ_);
51987 setState(7004);
51988 identifier();
51989 }
51990 break;
51991 default:
51992 throw new NoViableAltException(this);
51993 }
51994 }
51995 catch (RecognitionException re) {
51996 _localctx.exception = re;
51997 _errHandler.reportError(this, re);
51998 _errHandler.recover(this, re);
51999 }
52000 finally {
52001 exitRule();
52002 }
52003 return _localctx;
52004 }
52005
52006 public static class HashedPasswordContext extends ParserRuleContext {
52007 public TerminalNode HEX_DIGIT_() { return getToken(SQLServerStatementParser.HEX_DIGIT_, 0); }
52008 public HashedPasswordContext(ParserRuleContext parent, int invokingState) {
52009 super(parent, invokingState);
52010 }
52011 @Override public int getRuleIndex() { return RULE_hashedPassword; }
52012 @Override
52013 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52014 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHashedPassword(this);
52015 else return visitor.visitChildren(this);
52016 }
52017 }
52018
52019 public final HashedPasswordContext hashedPassword() throws RecognitionException {
52020 HashedPasswordContext _localctx = new HashedPasswordContext(_ctx, getState());
52021 enterRule(_localctx, 964, RULE_hashedPassword);
52022 try {
52023 enterOuterAlt(_localctx, 1);
52024 {
52025 setState(7007);
52026 match(HEX_DIGIT_);
52027 }
52028 }
52029 catch (RecognitionException re) {
52030 _localctx.exception = re;
52031 _errHandler.reportError(this, re);
52032 _errHandler.recover(this, re);
52033 }
52034 finally {
52035 exitRule();
52036 }
52037 return _localctx;
52038 }
52039
52040 public static class SidContext extends ParserRuleContext {
52041 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
52042 public TerminalNode HEX_DIGIT_() { return getToken(SQLServerStatementParser.HEX_DIGIT_, 0); }
52043 public SidContext(ParserRuleContext parent, int invokingState) {
52044 super(parent, invokingState);
52045 }
52046 @Override public int getRuleIndex() { return RULE_sid; }
52047 @Override
52048 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52049 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSid(this);
52050 else return visitor.visitChildren(this);
52051 }
52052 }
52053
52054 public final SidContext sid() throws RecognitionException {
52055 SidContext _localctx = new SidContext(_ctx, getState());
52056 enterRule(_localctx, 966, RULE_sid);
52057 int _la;
52058 try {
52059 enterOuterAlt(_localctx, 1);
52060 {
52061 setState(7009);
52062 _la = _input.LA(1);
52063 if ( !(_la==HEX_DIGIT_ || _la==NCHAR_TEXT) ) {
52064 _errHandler.recoverInline(this);
52065 }
52066 else {
52067 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
52068 _errHandler.reportMatch(this);
52069 consume();
52070 }
52071 }
52072 }
52073 catch (RecognitionException re) {
52074 _localctx.exception = re;
52075 _errHandler.reportError(this, re);
52076 _errHandler.recover(this, re);
52077 }
52078 finally {
52079 exitRule();
52080 }
52081 return _localctx;
52082 }
52083
52084 public static class SourcesContext extends ParserRuleContext {
52085 public TerminalNode WINDOWS() { return getToken(SQLServerStatementParser.WINDOWS, 0); }
52086 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
52087 public List<WindowsOptionsContext> windowsOptions() {
52088 return getRuleContexts(WindowsOptionsContext.class);
52089 }
52090 public WindowsOptionsContext windowsOptions(int i) {
52091 return getRuleContext(WindowsOptionsContext.class,i);
52092 }
52093 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
52094 public TerminalNode COMMA_(int i) {
52095 return getToken(SQLServerStatementParser.COMMA_, i);
52096 }
52097 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
52098 public IdentifierContext identifier() {
52099 return getRuleContext(IdentifierContext.class,0);
52100 }
52101 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
52102 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
52103 public SourcesContext(ParserRuleContext parent, int invokingState) {
52104 super(parent, invokingState);
52105 }
52106 @Override public int getRuleIndex() { return RULE_sources; }
52107 @Override
52108 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52109 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSources(this);
52110 else return visitor.visitChildren(this);
52111 }
52112 }
52113
52114 public final SourcesContext sources() throws RecognitionException {
52115 SourcesContext _localctx = new SourcesContext(_ctx, getState());
52116 enterRule(_localctx, 968, RULE_sources);
52117 int _la;
52118 try {
52119 setState(7028);
52120 _errHandler.sync(this);
52121 switch (_input.LA(1)) {
52122 case WINDOWS:
52123 enterOuterAlt(_localctx, 1);
52124 {
52125 setState(7011);
52126 match(WINDOWS);
52127 setState(7021);
52128 _errHandler.sync(this);
52129 _la = _input.LA(1);
52130 if (_la==WITH) {
52131 {
52132 setState(7012);
52133 match(WITH);
52134 setState(7013);
52135 windowsOptions();
52136 setState(7018);
52137 _errHandler.sync(this);
52138 _la = _input.LA(1);
52139 while (_la==COMMA_) {
52140 {
52141 {
52142 setState(7014);
52143 match(COMMA_);
52144 setState(7015);
52145 windowsOptions();
52146 }
52147 }
52148 setState(7020);
52149 _errHandler.sync(this);
52150 _la = _input.LA(1);
52151 }
52152 }
52153 }
52154
52155 }
52156 break;
52157 case CERTIFICATE:
52158 enterOuterAlt(_localctx, 2);
52159 {
52160 setState(7023);
52161 match(CERTIFICATE);
52162 setState(7024);
52163 identifier();
52164 }
52165 break;
52166 case ASYMMETRIC:
52167 enterOuterAlt(_localctx, 3);
52168 {
52169 setState(7025);
52170 match(ASYMMETRIC);
52171 setState(7026);
52172 match(KEY);
52173 setState(7027);
52174 identifier();
52175 }
52176 break;
52177 default:
52178 throw new NoViableAltException(this);
52179 }
52180 }
52181 catch (RecognitionException re) {
52182 _localctx.exception = re;
52183 _errHandler.reportError(this, re);
52184 _errHandler.recover(this, re);
52185 }
52186 finally {
52187 exitRule();
52188 }
52189 return _localctx;
52190 }
52191
52192 public static class WindowsOptionsContext extends ParserRuleContext {
52193 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
52194 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
52195 public DatabaseNameContext databaseName() {
52196 return getRuleContext(DatabaseNameContext.class,0);
52197 }
52198 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
52199 public IdentifierContext identifier() {
52200 return getRuleContext(IdentifierContext.class,0);
52201 }
52202 public WindowsOptionsContext(ParserRuleContext parent, int invokingState) {
52203 super(parent, invokingState);
52204 }
52205 @Override public int getRuleIndex() { return RULE_windowsOptions; }
52206 @Override
52207 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52208 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowsOptions(this);
52209 else return visitor.visitChildren(this);
52210 }
52211 }
52212
52213 public final WindowsOptionsContext windowsOptions() throws RecognitionException {
52214 WindowsOptionsContext _localctx = new WindowsOptionsContext(_ctx, getState());
52215 enterRule(_localctx, 970, RULE_windowsOptions);
52216 try {
52217 setState(7036);
52218 _errHandler.sync(this);
52219 switch (_input.LA(1)) {
52220 case DEFAULT_DATABASE:
52221 enterOuterAlt(_localctx, 1);
52222 {
52223 setState(7030);
52224 match(DEFAULT_DATABASE);
52225 setState(7031);
52226 match(EQ_);
52227 setState(7032);
52228 databaseName();
52229 }
52230 break;
52231 case DEFAULT_LANGUAGE:
52232 enterOuterAlt(_localctx, 2);
52233 {
52234 setState(7033);
52235 match(DEFAULT_LANGUAGE);
52236 setState(7034);
52237 match(EQ_);
52238 setState(7035);
52239 identifier();
52240 }
52241 break;
52242 default:
52243 throw new NoViableAltException(this);
52244 }
52245 }
52246 catch (RecognitionException re) {
52247 _localctx.exception = re;
52248 _errHandler.reportError(this, re);
52249 _errHandler.recover(this, re);
52250 }
52251 finally {
52252 exitRule();
52253 }
52254 return _localctx;
52255 }
52256
52257 public static class CreateLoginForAzureSQLDatabaseClauseContext extends ParserRuleContext {
52258 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
52259 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
52260 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
52261 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
52262 public List<CreateLoginForAzureSQLDatabaseOptionListContext> createLoginForAzureSQLDatabaseOptionList() {
52263 return getRuleContexts(CreateLoginForAzureSQLDatabaseOptionListContext.class);
52264 }
52265 public CreateLoginForAzureSQLDatabaseOptionListContext createLoginForAzureSQLDatabaseOptionList(int i) {
52266 return getRuleContext(CreateLoginForAzureSQLDatabaseOptionListContext.class,i);
52267 }
52268 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
52269 public TerminalNode COMMA_(int i) {
52270 return getToken(SQLServerStatementParser.COMMA_, i);
52271 }
52272 public CreateLoginForAzureSQLDatabaseClauseContext(ParserRuleContext parent, int invokingState) {
52273 super(parent, invokingState);
52274 }
52275 @Override public int getRuleIndex() { return RULE_createLoginForAzureSQLDatabaseClause; }
52276 @Override
52277 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52278 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSQLDatabaseClause(this);
52279 else return visitor.visitChildren(this);
52280 }
52281 }
52282
52283 public final CreateLoginForAzureSQLDatabaseClauseContext createLoginForAzureSQLDatabaseClause() throws RecognitionException {
52284 CreateLoginForAzureSQLDatabaseClauseContext _localctx = new CreateLoginForAzureSQLDatabaseClauseContext(_ctx, getState());
52285 enterRule(_localctx, 972, RULE_createLoginForAzureSQLDatabaseClause);
52286 int _la;
52287 try {
52288 setState(7050);
52289 _errHandler.sync(this);
52290 switch (_input.LA(1)) {
52291 case FROM:
52292 enterOuterAlt(_localctx, 1);
52293 {
52294 setState(7038);
52295 match(FROM);
52296 setState(7039);
52297 match(EXTERNAL);
52298 setState(7040);
52299 match(PROVIDER);
52300 }
52301 break;
52302 case WITH:
52303 enterOuterAlt(_localctx, 2);
52304 {
52305 setState(7041);
52306 match(WITH);
52307 setState(7042);
52308 createLoginForAzureSQLDatabaseOptionList();
52309 setState(7047);
52310 _errHandler.sync(this);
52311 _la = _input.LA(1);
52312 while (_la==COMMA_) {
52313 {
52314 {
52315 setState(7043);
52316 match(COMMA_);
52317 setState(7044);
52318 createLoginForAzureSQLDatabaseOptionList();
52319 }
52320 }
52321 setState(7049);
52322 _errHandler.sync(this);
52323 _la = _input.LA(1);
52324 }
52325 }
52326 break;
52327 default:
52328 throw new NoViableAltException(this);
52329 }
52330 }
52331 catch (RecognitionException re) {
52332 _localctx.exception = re;
52333 _errHandler.reportError(this, re);
52334 _errHandler.recover(this, re);
52335 }
52336 finally {
52337 exitRule();
52338 }
52339 return _localctx;
52340 }
52341
52342 public static class CreateLoginForAzureSQLDatabaseOptionListContext extends ParserRuleContext {
52343 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
52344 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
52345 public TerminalNode EQ_(int i) {
52346 return getToken(SQLServerStatementParser.EQ_, i);
52347 }
52348 public StringLiteralsContext stringLiterals() {
52349 return getRuleContext(StringLiteralsContext.class,0);
52350 }
52351 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
52352 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
52353 public SidContext sid() {
52354 return getRuleContext(SidContext.class,0);
52355 }
52356 public CreateLoginForAzureSQLDatabaseOptionListContext(ParserRuleContext parent, int invokingState) {
52357 super(parent, invokingState);
52358 }
52359 @Override public int getRuleIndex() { return RULE_createLoginForAzureSQLDatabaseOptionList; }
52360 @Override
52361 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52362 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSQLDatabaseOptionList(this);
52363 else return visitor.visitChildren(this);
52364 }
52365 }
52366
52367 public final CreateLoginForAzureSQLDatabaseOptionListContext createLoginForAzureSQLDatabaseOptionList() throws RecognitionException {
52368 CreateLoginForAzureSQLDatabaseOptionListContext _localctx = new CreateLoginForAzureSQLDatabaseOptionListContext(_ctx, getState());
52369 enterRule(_localctx, 974, RULE_createLoginForAzureSQLDatabaseOptionList);
52370 try {
52371 enterOuterAlt(_localctx, 1);
52372 {
52373 setState(7052);
52374 match(PASSWORD);
52375 setState(7053);
52376 match(EQ_);
52377 setState(7054);
52378 stringLiterals();
52379 setState(7059);
52380 _errHandler.sync(this);
52381 switch ( getInterpreter().adaptivePredict(_input,818,_ctx) ) {
52382 case 1:
52383 {
52384 setState(7055);
52385 match(COMMA_);
52386 setState(7056);
52387 match(SID);
52388 setState(7057);
52389 match(EQ_);
52390 setState(7058);
52391 sid();
52392 }
52393 break;
52394 }
52395 }
52396 }
52397 catch (RecognitionException re) {
52398 _localctx.exception = re;
52399 _errHandler.reportError(this, re);
52400 _errHandler.recover(this, re);
52401 }
52402 finally {
52403 exitRule();
52404 }
52405 return _localctx;
52406 }
52407
52408 public static class CreateLoginForAzureManagedInstanceClauseContext extends ParserRuleContext {
52409 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
52410 public List<AzureManagedInstanceOptionListContext> azureManagedInstanceOptionList() {
52411 return getRuleContexts(AzureManagedInstanceOptionListContext.class);
52412 }
52413 public AzureManagedInstanceOptionListContext azureManagedInstanceOptionList(int i) {
52414 return getRuleContext(AzureManagedInstanceOptionListContext.class,i);
52415 }
52416 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
52417 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
52418 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
52419 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
52420 public TerminalNode COMMA_(int i) {
52421 return getToken(SQLServerStatementParser.COMMA_, i);
52422 }
52423 public CreateLoginForAzureManagedInstanceClauseContext(ParserRuleContext parent, int invokingState) {
52424 super(parent, invokingState);
52425 }
52426 @Override public int getRuleIndex() { return RULE_createLoginForAzureManagedInstanceClause; }
52427 @Override
52428 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52429 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureManagedInstanceClause(this);
52430 else return visitor.visitChildren(this);
52431 }
52432 }
52433
52434 public final CreateLoginForAzureManagedInstanceClauseContext createLoginForAzureManagedInstanceClause() throws RecognitionException {
52435 CreateLoginForAzureManagedInstanceClauseContext _localctx = new CreateLoginForAzureManagedInstanceClauseContext(_ctx, getState());
52436 enterRule(_localctx, 976, RULE_createLoginForAzureManagedInstanceClause);
52437 int _la;
52438 try {
52439 enterOuterAlt(_localctx, 1);
52440 {
52441 setState(7064);
52442 _errHandler.sync(this);
52443 _la = _input.LA(1);
52444 if (_la==FROM) {
52445 {
52446 setState(7061);
52447 match(FROM);
52448 setState(7062);
52449 match(EXTERNAL);
52450 setState(7063);
52451 match(PROVIDER);
52452 }
52453 }
52454
52455 setState(7066);
52456 match(WITH);
52457 setState(7067);
52458 azureManagedInstanceOptionList();
52459 setState(7072);
52460 _errHandler.sync(this);
52461 _la = _input.LA(1);
52462 while (_la==COMMA_) {
52463 {
52464 {
52465 setState(7068);
52466 match(COMMA_);
52467 setState(7069);
52468 azureManagedInstanceOptionList();
52469 }
52470 }
52471 setState(7074);
52472 _errHandler.sync(this);
52473 _la = _input.LA(1);
52474 }
52475 }
52476 }
52477 catch (RecognitionException re) {
52478 _localctx.exception = re;
52479 _errHandler.reportError(this, re);
52480 _errHandler.recover(this, re);
52481 }
52482 finally {
52483 exitRule();
52484 }
52485 return _localctx;
52486 }
52487
52488 public static class AzureManagedInstanceOptionListContext extends ParserRuleContext {
52489 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
52490 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
52491 public StringLiteralsContext stringLiterals() {
52492 return getRuleContext(StringLiteralsContext.class,0);
52493 }
52494 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
52495 public SidContext sid() {
52496 return getRuleContext(SidContext.class,0);
52497 }
52498 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
52499 public DatabaseNameContext databaseName() {
52500 return getRuleContext(DatabaseNameContext.class,0);
52501 }
52502 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
52503 public IdentifierContext identifier() {
52504 return getRuleContext(IdentifierContext.class,0);
52505 }
52506 public AzureManagedInstanceOptionListContext(ParserRuleContext parent, int invokingState) {
52507 super(parent, invokingState);
52508 }
52509 @Override public int getRuleIndex() { return RULE_azureManagedInstanceOptionList; }
52510 @Override
52511 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52512 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAzureManagedInstanceOptionList(this);
52513 else return visitor.visitChildren(this);
52514 }
52515 }
52516
52517 public final AzureManagedInstanceOptionListContext azureManagedInstanceOptionList() throws RecognitionException {
52518 AzureManagedInstanceOptionListContext _localctx = new AzureManagedInstanceOptionListContext(_ctx, getState());
52519 enterRule(_localctx, 978, RULE_azureManagedInstanceOptionList);
52520 try {
52521 setState(7087);
52522 _errHandler.sync(this);
52523 switch (_input.LA(1)) {
52524 case PASSWORD:
52525 enterOuterAlt(_localctx, 1);
52526 {
52527 setState(7075);
52528 match(PASSWORD);
52529 setState(7076);
52530 match(EQ_);
52531 setState(7077);
52532 stringLiterals();
52533 }
52534 break;
52535 case SID:
52536 enterOuterAlt(_localctx, 2);
52537 {
52538 setState(7078);
52539 match(SID);
52540 setState(7079);
52541 match(EQ_);
52542 setState(7080);
52543 sid();
52544 }
52545 break;
52546 case DEFAULT_DATABASE:
52547 enterOuterAlt(_localctx, 3);
52548 {
52549 setState(7081);
52550 match(DEFAULT_DATABASE);
52551 setState(7082);
52552 match(EQ_);
52553 setState(7083);
52554 databaseName();
52555 }
52556 break;
52557 case DEFAULT_LANGUAGE:
52558 enterOuterAlt(_localctx, 4);
52559 {
52560 setState(7084);
52561 match(DEFAULT_LANGUAGE);
52562 setState(7085);
52563 match(EQ_);
52564 setState(7086);
52565 identifier();
52566 }
52567 break;
52568 default:
52569 throw new NoViableAltException(this);
52570 }
52571 }
52572 catch (RecognitionException re) {
52573 _localctx.exception = re;
52574 _errHandler.reportError(this, re);
52575 _errHandler.recover(this, re);
52576 }
52577 finally {
52578 exitRule();
52579 }
52580 return _localctx;
52581 }
52582
52583 public static class CreateLoginForAzureSynapseAnalyticsClauseContext extends ParserRuleContext {
52584 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
52585 public CreateLoginForAzureSynapseAnalyticsOptionListContext createLoginForAzureSynapseAnalyticsOptionList() {
52586 return getRuleContext(CreateLoginForAzureSynapseAnalyticsOptionListContext.class,0);
52587 }
52588 public CreateLoginForAzureSynapseAnalyticsClauseContext(ParserRuleContext parent, int invokingState) {
52589 super(parent, invokingState);
52590 }
52591 @Override public int getRuleIndex() { return RULE_createLoginForAzureSynapseAnalyticsClause; }
52592 @Override
52593 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52594 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSynapseAnalyticsClause(this);
52595 else return visitor.visitChildren(this);
52596 }
52597 }
52598
52599 public final CreateLoginForAzureSynapseAnalyticsClauseContext createLoginForAzureSynapseAnalyticsClause() throws RecognitionException {
52600 CreateLoginForAzureSynapseAnalyticsClauseContext _localctx = new CreateLoginForAzureSynapseAnalyticsClauseContext(_ctx, getState());
52601 enterRule(_localctx, 980, RULE_createLoginForAzureSynapseAnalyticsClause);
52602 try {
52603 enterOuterAlt(_localctx, 1);
52604 {
52605 setState(7089);
52606 match(WITH);
52607 setState(7090);
52608 createLoginForAzureSynapseAnalyticsOptionList();
52609 }
52610 }
52611 catch (RecognitionException re) {
52612 _localctx.exception = re;
52613 _errHandler.reportError(this, re);
52614 _errHandler.recover(this, re);
52615 }
52616 finally {
52617 exitRule();
52618 }
52619 return _localctx;
52620 }
52621
52622 public static class CreateLoginForAzureSynapseAnalyticsOptionListContext extends ParserRuleContext {
52623 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
52624 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
52625 public TerminalNode EQ_(int i) {
52626 return getToken(SQLServerStatementParser.EQ_, i);
52627 }
52628 public StringLiteralsContext stringLiterals() {
52629 return getRuleContext(StringLiteralsContext.class,0);
52630 }
52631 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
52632 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
52633 public SidContext sid() {
52634 return getRuleContext(SidContext.class,0);
52635 }
52636 public CreateLoginForAzureSynapseAnalyticsOptionListContext(ParserRuleContext parent, int invokingState) {
52637 super(parent, invokingState);
52638 }
52639 @Override public int getRuleIndex() { return RULE_createLoginForAzureSynapseAnalyticsOptionList; }
52640 @Override
52641 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52642 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSynapseAnalyticsOptionList(this);
52643 else return visitor.visitChildren(this);
52644 }
52645 }
52646
52647 public final CreateLoginForAzureSynapseAnalyticsOptionListContext createLoginForAzureSynapseAnalyticsOptionList() throws RecognitionException {
52648 CreateLoginForAzureSynapseAnalyticsOptionListContext _localctx = new CreateLoginForAzureSynapseAnalyticsOptionListContext(_ctx, getState());
52649 enterRule(_localctx, 982, RULE_createLoginForAzureSynapseAnalyticsOptionList);
52650 int _la;
52651 try {
52652 enterOuterAlt(_localctx, 1);
52653 {
52654 setState(7092);
52655 match(PASSWORD);
52656 setState(7093);
52657 match(EQ_);
52658 setState(7094);
52659 stringLiterals();
52660 setState(7099);
52661 _errHandler.sync(this);
52662 _la = _input.LA(1);
52663 if (_la==COMMA_) {
52664 {
52665 setState(7095);
52666 match(COMMA_);
52667 setState(7096);
52668 match(SID);
52669 setState(7097);
52670 match(EQ_);
52671 setState(7098);
52672 sid();
52673 }
52674 }
52675
52676 }
52677 }
52678 catch (RecognitionException re) {
52679 _localctx.exception = re;
52680 _errHandler.reportError(this, re);
52681 _errHandler.recover(this, re);
52682 }
52683 finally {
52684 exitRule();
52685 }
52686 return _localctx;
52687 }
52688
52689 public static class CreateLoginForAnalyticsPlatformSystemClauseContext extends ParserRuleContext {
52690 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
52691 public CreateLoginForAnalyticsPlatformSystemOptionListContext createLoginForAnalyticsPlatformSystemOptionList() {
52692 return getRuleContext(CreateLoginForAnalyticsPlatformSystemOptionListContext.class,0);
52693 }
52694 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
52695 public TerminalNode WINDOWS() { return getToken(SQLServerStatementParser.WINDOWS, 0); }
52696 public CreateLoginForAnalyticsPlatformSystemClauseContext(ParserRuleContext parent, int invokingState) {
52697 super(parent, invokingState);
52698 }
52699 @Override public int getRuleIndex() { return RULE_createLoginForAnalyticsPlatformSystemClause; }
52700 @Override
52701 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52702 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAnalyticsPlatformSystemClause(this);
52703 else return visitor.visitChildren(this);
52704 }
52705 }
52706
52707 public final CreateLoginForAnalyticsPlatformSystemClauseContext createLoginForAnalyticsPlatformSystemClause() throws RecognitionException {
52708 CreateLoginForAnalyticsPlatformSystemClauseContext _localctx = new CreateLoginForAnalyticsPlatformSystemClauseContext(_ctx, getState());
52709 enterRule(_localctx, 984, RULE_createLoginForAnalyticsPlatformSystemClause);
52710 try {
52711 setState(7105);
52712 _errHandler.sync(this);
52713 switch (_input.LA(1)) {
52714 case WITH:
52715 enterOuterAlt(_localctx, 1);
52716 {
52717 setState(7101);
52718 match(WITH);
52719 setState(7102);
52720 createLoginForAnalyticsPlatformSystemOptionList();
52721 }
52722 break;
52723 case FROM:
52724 enterOuterAlt(_localctx, 2);
52725 {
52726 setState(7103);
52727 match(FROM);
52728 setState(7104);
52729 match(WINDOWS);
52730 }
52731 break;
52732 default:
52733 throw new NoViableAltException(this);
52734 }
52735 }
52736 catch (RecognitionException re) {
52737 _localctx.exception = re;
52738 _errHandler.reportError(this, re);
52739 _errHandler.recover(this, re);
52740 }
52741 finally {
52742 exitRule();
52743 }
52744 return _localctx;
52745 }
52746
52747 public static class CreateLoginForAnalyticsPlatformSystemOptionListContext extends ParserRuleContext {
52748 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
52749 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
52750 public StringLiteralsContext stringLiterals() {
52751 return getRuleContext(StringLiteralsContext.class,0);
52752 }
52753 public TerminalNode MUST_CHANGE() { return getToken(SQLServerStatementParser.MUST_CHANGE, 0); }
52754 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
52755 public TerminalNode COMMA_(int i) {
52756 return getToken(SQLServerStatementParser.COMMA_, i);
52757 }
52758 public List<CreateLoginForAnalyticsPlatformSystemOptionListClauseContext> createLoginForAnalyticsPlatformSystemOptionListClause() {
52759 return getRuleContexts(CreateLoginForAnalyticsPlatformSystemOptionListClauseContext.class);
52760 }
52761 public CreateLoginForAnalyticsPlatformSystemOptionListClauseContext createLoginForAnalyticsPlatformSystemOptionListClause(int i) {
52762 return getRuleContext(CreateLoginForAnalyticsPlatformSystemOptionListClauseContext.class,i);
52763 }
52764 public CreateLoginForAnalyticsPlatformSystemOptionListContext(ParserRuleContext parent, int invokingState) {
52765 super(parent, invokingState);
52766 }
52767 @Override public int getRuleIndex() { return RULE_createLoginForAnalyticsPlatformSystemOptionList; }
52768 @Override
52769 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52770 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAnalyticsPlatformSystemOptionList(this);
52771 else return visitor.visitChildren(this);
52772 }
52773 }
52774
52775 public final CreateLoginForAnalyticsPlatformSystemOptionListContext createLoginForAnalyticsPlatformSystemOptionList() throws RecognitionException {
52776 CreateLoginForAnalyticsPlatformSystemOptionListContext _localctx = new CreateLoginForAnalyticsPlatformSystemOptionListContext(_ctx, getState());
52777 enterRule(_localctx, 986, RULE_createLoginForAnalyticsPlatformSystemOptionList);
52778 int _la;
52779 try {
52780 enterOuterAlt(_localctx, 1);
52781 {
52782 setState(7107);
52783 match(PASSWORD);
52784 setState(7108);
52785 match(EQ_);
52786 setState(7109);
52787 stringLiterals();
52788 setState(7111);
52789 _errHandler.sync(this);
52790 _la = _input.LA(1);
52791 if (_la==MUST_CHANGE) {
52792 {
52793 setState(7110);
52794 match(MUST_CHANGE);
52795 }
52796 }
52797
52798 setState(7122);
52799 _errHandler.sync(this);
52800 _la = _input.LA(1);
52801 if (_la==COMMA_) {
52802 {
52803 setState(7113);
52804 match(COMMA_);
52805 setState(7114);
52806 createLoginForAnalyticsPlatformSystemOptionListClause();
52807 setState(7119);
52808 _errHandler.sync(this);
52809 _la = _input.LA(1);
52810 while (_la==COMMA_) {
52811 {
52812 {
52813 setState(7115);
52814 match(COMMA_);
52815 setState(7116);
52816 createLoginForAnalyticsPlatformSystemOptionListClause();
52817 }
52818 }
52819 setState(7121);
52820 _errHandler.sync(this);
52821 _la = _input.LA(1);
52822 }
52823 }
52824 }
52825
52826 }
52827 }
52828 catch (RecognitionException re) {
52829 _localctx.exception = re;
52830 _errHandler.reportError(this, re);
52831 _errHandler.recover(this, re);
52832 }
52833 finally {
52834 exitRule();
52835 }
52836 return _localctx;
52837 }
52838
52839 public static class CreateLoginForAnalyticsPlatformSystemOptionListClauseContext extends ParserRuleContext {
52840 public TerminalNode CHECK_EXPIRATION() { return getToken(SQLServerStatementParser.CHECK_EXPIRATION, 0); }
52841 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
52842 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
52843 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
52844 public TerminalNode CHECK_POLICY() { return getToken(SQLServerStatementParser.CHECK_POLICY, 0); }
52845 public CreateLoginForAnalyticsPlatformSystemOptionListClauseContext(ParserRuleContext parent, int invokingState) {
52846 super(parent, invokingState);
52847 }
52848 @Override public int getRuleIndex() { return RULE_createLoginForAnalyticsPlatformSystemOptionListClause; }
52849 @Override
52850 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52851 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAnalyticsPlatformSystemOptionListClause(this);
52852 else return visitor.visitChildren(this);
52853 }
52854 }
52855
52856 public final CreateLoginForAnalyticsPlatformSystemOptionListClauseContext createLoginForAnalyticsPlatformSystemOptionListClause() throws RecognitionException {
52857 CreateLoginForAnalyticsPlatformSystemOptionListClauseContext _localctx = new CreateLoginForAnalyticsPlatformSystemOptionListClauseContext(_ctx, getState());
52858 enterRule(_localctx, 988, RULE_createLoginForAnalyticsPlatformSystemOptionListClause);
52859 int _la;
52860 try {
52861 setState(7130);
52862 _errHandler.sync(this);
52863 switch (_input.LA(1)) {
52864 case CHECK_EXPIRATION:
52865 enterOuterAlt(_localctx, 1);
52866 {
52867 setState(7124);
52868 match(CHECK_EXPIRATION);
52869 setState(7125);
52870 match(EQ_);
52871 setState(7126);
52872 _la = _input.LA(1);
52873 if ( !(_la==ON || _la==OFF) ) {
52874 _errHandler.recoverInline(this);
52875 }
52876 else {
52877 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
52878 _errHandler.reportMatch(this);
52879 consume();
52880 }
52881 }
52882 break;
52883 case CHECK_POLICY:
52884 enterOuterAlt(_localctx, 2);
52885 {
52886 setState(7127);
52887 match(CHECK_POLICY);
52888 setState(7128);
52889 match(EQ_);
52890 setState(7129);
52891 _la = _input.LA(1);
52892 if ( !(_la==ON || _la==OFF) ) {
52893 _errHandler.recoverInline(this);
52894 }
52895 else {
52896 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
52897 _errHandler.reportMatch(this);
52898 consume();
52899 }
52900 }
52901 break;
52902 default:
52903 throw new NoViableAltException(this);
52904 }
52905 }
52906 catch (RecognitionException re) {
52907 _localctx.exception = re;
52908 _errHandler.reportError(this, re);
52909 _errHandler.recover(this, re);
52910 }
52911 finally {
52912 exitRule();
52913 }
52914 return _localctx;
52915 }
52916
52917 public static class DropLoginContext extends ParserRuleContext {
52918 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
52919 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
52920 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
52921 return getRuleContext(IgnoredNameIdentifierContext.class,0);
52922 }
52923 public DropLoginContext(ParserRuleContext parent, int invokingState) {
52924 super(parent, invokingState);
52925 }
52926 @Override public int getRuleIndex() { return RULE_dropLogin; }
52927 @Override
52928 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52929 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropLogin(this);
52930 else return visitor.visitChildren(this);
52931 }
52932 }
52933
52934 public final DropLoginContext dropLogin() throws RecognitionException {
52935 DropLoginContext _localctx = new DropLoginContext(_ctx, getState());
52936 enterRule(_localctx, 990, RULE_dropLogin);
52937 try {
52938 enterOuterAlt(_localctx, 1);
52939 {
52940 setState(7132);
52941 match(DROP);
52942 setState(7133);
52943 match(LOGIN);
52944 setState(7134);
52945 ignoredNameIdentifier();
52946 }
52947 }
52948 catch (RecognitionException re) {
52949 _localctx.exception = re;
52950 _errHandler.reportError(this, re);
52951 _errHandler.recover(this, re);
52952 }
52953 finally {
52954 exitRule();
52955 }
52956 return _localctx;
52957 }
52958
52959 public static class AlterLoginContext extends ParserRuleContext {
52960 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
52961 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
52962 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
52963 return getRuleContext(IgnoredNameIdentifierContext.class,0);
52964 }
52965 public StatusOptionClauseContext statusOptionClause() {
52966 return getRuleContext(StatusOptionClauseContext.class,0);
52967 }
52968 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
52969 public List<SetOptionClauseContext> setOptionClause() {
52970 return getRuleContexts(SetOptionClauseContext.class);
52971 }
52972 public SetOptionClauseContext setOptionClause(int i) {
52973 return getRuleContext(SetOptionClauseContext.class,i);
52974 }
52975 public CryptographicCredentialsOptionClauseContext cryptographicCredentialsOptionClause() {
52976 return getRuleContext(CryptographicCredentialsOptionClauseContext.class,0);
52977 }
52978 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
52979 public TerminalNode COMMA_(int i) {
52980 return getToken(SQLServerStatementParser.COMMA_, i);
52981 }
52982 public AlterLoginContext(ParserRuleContext parent, int invokingState) {
52983 super(parent, invokingState);
52984 }
52985 @Override public int getRuleIndex() { return RULE_alterLogin; }
52986 @Override
52987 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
52988 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterLogin(this);
52989 else return visitor.visitChildren(this);
52990 }
52991 }
52992
52993 public final AlterLoginContext alterLogin() throws RecognitionException {
52994 AlterLoginContext _localctx = new AlterLoginContext(_ctx, getState());
52995 enterRule(_localctx, 992, RULE_alterLogin);
52996 int _la;
52997 try {
52998 enterOuterAlt(_localctx, 1);
52999 {
53000 setState(7136);
53001 match(ALTER);
53002 setState(7137);
53003 match(LOGIN);
53004 setState(7138);
53005 ignoredNameIdentifier();
53006 setState(7150);
53007 _errHandler.sync(this);
53008 switch (_input.LA(1)) {
53009 case ENABLE:
53010 case DISABLE:
53011 {
53012 setState(7139);
53013 statusOptionClause();
53014 }
53015 break;
53016 case WITH:
53017 {
53018 setState(7140);
53019 match(WITH);
53020 setState(7141);
53021 setOptionClause();
53022 setState(7146);
53023 _errHandler.sync(this);
53024 _la = _input.LA(1);
53025 while (_la==COMMA_) {
53026 {
53027 {
53028 setState(7142);
53029 match(COMMA_);
53030 setState(7143);
53031 setOptionClause();
53032 }
53033 }
53034 setState(7148);
53035 _errHandler.sync(this);
53036 _la = _input.LA(1);
53037 }
53038 }
53039 break;
53040 case DROP:
53041 case ADD:
53042 {
53043 setState(7149);
53044 cryptographicCredentialsOptionClause();
53045 }
53046 break;
53047 default:
53048 throw new NoViableAltException(this);
53049 }
53050 }
53051 }
53052 catch (RecognitionException re) {
53053 _localctx.exception = re;
53054 _errHandler.reportError(this, re);
53055 _errHandler.recover(this, re);
53056 }
53057 finally {
53058 exitRule();
53059 }
53060 return _localctx;
53061 }
53062
53063 public static class StatusOptionClauseContext extends ParserRuleContext {
53064 public TerminalNode ENABLE() { return getToken(SQLServerStatementParser.ENABLE, 0); }
53065 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
53066 public StatusOptionClauseContext(ParserRuleContext parent, int invokingState) {
53067 super(parent, invokingState);
53068 }
53069 @Override public int getRuleIndex() { return RULE_statusOptionClause; }
53070 @Override
53071 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
53072 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStatusOptionClause(this);
53073 else return visitor.visitChildren(this);
53074 }
53075 }
53076
53077 public final StatusOptionClauseContext statusOptionClause() throws RecognitionException {
53078 StatusOptionClauseContext _localctx = new StatusOptionClauseContext(_ctx, getState());
53079 enterRule(_localctx, 994, RULE_statusOptionClause);
53080 int _la;
53081 try {
53082 enterOuterAlt(_localctx, 1);
53083 {
53084 setState(7152);
53085 _la = _input.LA(1);
53086 if ( !(_la==ENABLE || _la==DISABLE) ) {
53087 _errHandler.recoverInline(this);
53088 }
53089 else {
53090 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
53091 _errHandler.reportMatch(this);
53092 consume();
53093 }
53094 }
53095 }
53096 catch (RecognitionException re) {
53097 _localctx.exception = re;
53098 _errHandler.reportError(this, re);
53099 _errHandler.recover(this, re);
53100 }
53101 finally {
53102 exitRule();
53103 }
53104 return _localctx;
53105 }
53106
53107 public static class SetOptionClauseContext extends ParserRuleContext {
53108 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
53109 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
53110 public TerminalNode EQ_(int i) {
53111 return getToken(SQLServerStatementParser.EQ_, i);
53112 }
53113 public List<StringLiteralsContext> stringLiterals() {
53114 return getRuleContexts(StringLiteralsContext.class);
53115 }
53116 public StringLiteralsContext stringLiterals(int i) {
53117 return getRuleContext(StringLiteralsContext.class,i);
53118 }
53119 public HashedPasswordContext hashedPassword() {
53120 return getRuleContext(HashedPasswordContext.class,0);
53121 }
53122 public TerminalNode HASHED() { return getToken(SQLServerStatementParser.HASHED, 0); }
53123 public TerminalNode OLD_PASSWORD() { return getToken(SQLServerStatementParser.OLD_PASSWORD, 0); }
53124 public List<PasswordOptionClauseContext> passwordOptionClause() {
53125 return getRuleContexts(PasswordOptionClauseContext.class);
53126 }
53127 public PasswordOptionClauseContext passwordOptionClause(int i) {
53128 return getRuleContext(PasswordOptionClauseContext.class,i);
53129 }
53130 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
53131 public DatabaseNameContext databaseName() {
53132 return getRuleContext(DatabaseNameContext.class,0);
53133 }
53134 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
53135 public IdentifierContext identifier() {
53136 return getRuleContext(IdentifierContext.class,0);
53137 }
53138 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
53139 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
53140 return getRuleContext(IgnoredNameIdentifierContext.class,0);
53141 }
53142 public TerminalNode CHECK_POLICY() { return getToken(SQLServerStatementParser.CHECK_POLICY, 0); }
53143 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
53144 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
53145 public TerminalNode CHECK_EXPIRATION() { return getToken(SQLServerStatementParser.CHECK_EXPIRATION, 0); }
53146 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
53147 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
53148 public SetOptionClauseContext(ParserRuleContext parent, int invokingState) {
53149 super(parent, invokingState);
53150 }
53151 @Override public int getRuleIndex() { return RULE_setOptionClause; }
53152 @Override
53153 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
53154 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetOptionClause(this);
53155 else return visitor.visitChildren(this);
53156 }
53157 }
53158
53159 public final SetOptionClauseContext setOptionClause() throws RecognitionException {
53160 SetOptionClauseContext _localctx = new SetOptionClauseContext(_ctx, getState());
53161 enterRule(_localctx, 996, RULE_setOptionClause);
53162 int _la;
53163 try {
53164 setState(7191);
53165 _errHandler.sync(this);
53166 switch (_input.LA(1)) {
53167 case PASSWORD:
53168 enterOuterAlt(_localctx, 1);
53169 {
53170 setState(7154);
53171 match(PASSWORD);
53172 setState(7155);
53173 match(EQ_);
53174 setState(7160);
53175 _errHandler.sync(this);
53176 switch (_input.LA(1)) {
53177 case STRING_:
53178 case NCHAR_TEXT:
53179 {
53180 setState(7156);
53181 stringLiterals();
53182 }
53183 break;
53184 case HEX_DIGIT_:
53185 {
53186 setState(7157);
53187 hashedPassword();
53188 setState(7158);
53189 match(HASHED);
53190 }
53191 break;
53192 default:
53193 throw new NoViableAltException(this);
53194 }
53195 setState(7169);
53196 _errHandler.sync(this);
53197 switch (_input.LA(1)) {
53198 case OLD_PASSWORD:
53199 {
53200 setState(7162);
53201 match(OLD_PASSWORD);
53202 setState(7163);
53203 match(EQ_);
53204 setState(7164);
53205 stringLiterals();
53206 }
53207 break;
53208 case MUST_CHANGE:
53209 case UNLOCK:
53210 {
53211 setState(7165);
53212 passwordOptionClause();
53213 setState(7167);
53214 _errHandler.sync(this);
53215 _la = _input.LA(1);
53216 if (_la==MUST_CHANGE || _la==UNLOCK) {
53217 {
53218 setState(7166);
53219 passwordOptionClause();
53220 }
53221 }
53222
53223 }
53224 break;
53225 case EOF:
53226 case COMMA_:
53227 case SEMI_:
53228 break;
53229 default:
53230 break;
53231 }
53232 }
53233 break;
53234 case DEFAULT_DATABASE:
53235 enterOuterAlt(_localctx, 2);
53236 {
53237 setState(7171);
53238 match(DEFAULT_DATABASE);
53239 setState(7172);
53240 match(EQ_);
53241 setState(7173);
53242 databaseName();
53243 }
53244 break;
53245 case DEFAULT_LANGUAGE:
53246 enterOuterAlt(_localctx, 3);
53247 {
53248 setState(7174);
53249 match(DEFAULT_LANGUAGE);
53250 setState(7175);
53251 match(EQ_);
53252 setState(7176);
53253 identifier();
53254 }
53255 break;
53256 case NAME:
53257 enterOuterAlt(_localctx, 4);
53258 {
53259 setState(7177);
53260 match(NAME);
53261 setState(7178);
53262 match(EQ_);
53263 setState(7179);
53264 ignoredNameIdentifier();
53265 }
53266 break;
53267 case CHECK_POLICY:
53268 enterOuterAlt(_localctx, 5);
53269 {
53270 setState(7180);
53271 match(CHECK_POLICY);
53272 setState(7181);
53273 match(EQ_);
53274 setState(7182);
53275 _la = _input.LA(1);
53276 if ( !(_la==ON || _la==OFF) ) {
53277 _errHandler.recoverInline(this);
53278 }
53279 else {
53280 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
53281 _errHandler.reportMatch(this);
53282 consume();
53283 }
53284 }
53285 break;
53286 case CHECK_EXPIRATION:
53287 enterOuterAlt(_localctx, 6);
53288 {
53289 setState(7183);
53290 match(CHECK_EXPIRATION);
53291 setState(7184);
53292 match(EQ_);
53293 setState(7185);
53294 _la = _input.LA(1);
53295 if ( !(_la==ON || _la==OFF) ) {
53296 _errHandler.recoverInline(this);
53297 }
53298 else {
53299 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
53300 _errHandler.reportMatch(this);
53301 consume();
53302 }
53303 }
53304 break;
53305 case CREDENTIAL:
53306 enterOuterAlt(_localctx, 7);
53307 {
53308 setState(7186);
53309 match(CREDENTIAL);
53310 setState(7187);
53311 match(EQ_);
53312 setState(7188);
53313 identifier();
53314 }
53315 break;
53316 case NO:
53317 enterOuterAlt(_localctx, 8);
53318 {
53319 setState(7189);
53320 match(NO);
53321 setState(7190);
53322 match(CREDENTIAL);
53323 }
53324 break;
53325 default:
53326 throw new NoViableAltException(this);
53327 }
53328 }
53329 catch (RecognitionException re) {
53330 _localctx.exception = re;
53331 _errHandler.reportError(this, re);
53332 _errHandler.recover(this, re);
53333 }
53334 finally {
53335 exitRule();
53336 }
53337 return _localctx;
53338 }
53339
53340 public static class PasswordOptionClauseContext extends ParserRuleContext {
53341 public TerminalNode MUST_CHANGE() { return getToken(SQLServerStatementParser.MUST_CHANGE, 0); }
53342 public TerminalNode UNLOCK() { return getToken(SQLServerStatementParser.UNLOCK, 0); }
53343 public PasswordOptionClauseContext(ParserRuleContext parent, int invokingState) {
53344 super(parent, invokingState);
53345 }
53346 @Override public int getRuleIndex() { return RULE_passwordOptionClause; }
53347 @Override
53348 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
53349 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPasswordOptionClause(this);
53350 else return visitor.visitChildren(this);
53351 }
53352 }
53353
53354 public final PasswordOptionClauseContext passwordOptionClause() throws RecognitionException {
53355 PasswordOptionClauseContext _localctx = new PasswordOptionClauseContext(_ctx, getState());
53356 enterRule(_localctx, 998, RULE_passwordOptionClause);
53357 int _la;
53358 try {
53359 enterOuterAlt(_localctx, 1);
53360 {
53361 setState(7193);
53362 _la = _input.LA(1);
53363 if ( !(_la==MUST_CHANGE || _la==UNLOCK) ) {
53364 _errHandler.recoverInline(this);
53365 }
53366 else {
53367 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
53368 _errHandler.reportMatch(this);
53369 consume();
53370 }
53371 }
53372 }
53373 catch (RecognitionException re) {
53374 _localctx.exception = re;
53375 _errHandler.reportError(this, re);
53376 _errHandler.recover(this, re);
53377 }
53378 finally {
53379 exitRule();
53380 }
53381 return _localctx;
53382 }
53383
53384 public static class CryptographicCredentialsOptionClauseContext extends ParserRuleContext {
53385 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
53386 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
53387 public IdentifierContext identifier() {
53388 return getRuleContext(IdentifierContext.class,0);
53389 }
53390 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
53391 public CryptographicCredentialsOptionClauseContext(ParserRuleContext parent, int invokingState) {
53392 super(parent, invokingState);
53393 }
53394 @Override public int getRuleIndex() { return RULE_cryptographicCredentialsOptionClause; }
53395 @Override
53396 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
53397 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCryptographicCredentialsOptionClause(this);
53398 else return visitor.visitChildren(this);
53399 }
53400 }
53401
53402 public final CryptographicCredentialsOptionClauseContext cryptographicCredentialsOptionClause() throws RecognitionException {
53403 CryptographicCredentialsOptionClauseContext _localctx = new CryptographicCredentialsOptionClauseContext(_ctx, getState());
53404 enterRule(_localctx, 1000, RULE_cryptographicCredentialsOptionClause);
53405 try {
53406 setState(7201);
53407 _errHandler.sync(this);
53408 switch (_input.LA(1)) {
53409 case ADD:
53410 enterOuterAlt(_localctx, 1);
53411 {
53412 setState(7195);
53413 match(ADD);
53414 setState(7196);
53415 match(CREDENTIAL);
53416 setState(7197);
53417 identifier();
53418 }
53419 break;
53420 case DROP:
53421 enterOuterAlt(_localctx, 2);
53422 {
53423 setState(7198);
53424 match(DROP);
53425 setState(7199);
53426 match(CREDENTIAL);
53427 setState(7200);
53428 identifier();
53429 }
53430 break;
53431 default:
53432 throw new NoViableAltException(this);
53433 }
53434 }
53435 catch (RecognitionException re) {
53436 _localctx.exception = re;
53437 _errHandler.reportError(this, re);
53438 _errHandler.recover(this, re);
53439 }
53440 finally {
53441 exitRule();
53442 }
53443 return _localctx;
53444 }
53445
53446 public static class RevertContext extends ParserRuleContext {
53447 public TerminalNode REVERT() { return getToken(SQLServerStatementParser.REVERT, 0); }
53448 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
53449 public TerminalNode COOKIE() { return getToken(SQLServerStatementParser.COOKIE, 0); }
53450 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
53451 public VariableNameContext variableName() {
53452 return getRuleContext(VariableNameContext.class,0);
53453 }
53454 public RevertContext(ParserRuleContext parent, int invokingState) {
53455 super(parent, invokingState);
53456 }
53457 @Override public int getRuleIndex() { return RULE_revert; }
53458 @Override
53459 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
53460 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevert(this);
53461 else return visitor.visitChildren(this);
53462 }
53463 }
53464
53465 public final RevertContext revert() throws RecognitionException {
53466 RevertContext _localctx = new RevertContext(_ctx, getState());
53467 enterRule(_localctx, 1002, RULE_revert);
53468 int _la;
53469 try {
53470 enterOuterAlt(_localctx, 1);
53471 {
53472 setState(7203);
53473 match(REVERT);
53474 setState(7208);
53475 _errHandler.sync(this);
53476 _la = _input.LA(1);
53477 if (_la==WITH) {
53478 {
53479 setState(7204);
53480 match(WITH);
53481 setState(7205);
53482 match(COOKIE);
53483 setState(7206);
53484 match(EQ_);
53485 setState(7207);
53486 variableName();
53487 }
53488 }
53489
53490 }
53491 }
53492 catch (RecognitionException re) {
53493 _localctx.exception = re;
53494 _errHandler.reportError(this, re);
53495 _errHandler.recover(this, re);
53496 }
53497 finally {
53498 exitRule();
53499 }
53500 return _localctx;
53501 }
53502
53503 public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
53504 switch (ruleIndex) {
53505 case 49:
53506 return expr_sempred((ExprContext)_localctx, predIndex);
53507 case 54:
53508 return booleanPrimary_sempred((BooleanPrimaryContext)_localctx, predIndex);
53509 case 57:
53510 return bitExpr_sempred((BitExprContext)_localctx, predIndex);
53511 case 58:
53512 return simpleExpr_sempred((SimpleExprContext)_localctx, predIndex);
53513 }
53514 return true;
53515 }
53516 private boolean expr_sempred(ExprContext _localctx, int predIndex) {
53517 switch (predIndex) {
53518 case 0:
53519 return precpred(_ctx, 5);
53520 case 1:
53521 return precpred(_ctx, 4);
53522 case 2:
53523 return precpred(_ctx, 3);
53524 }
53525 return true;
53526 }
53527 private boolean booleanPrimary_sempred(BooleanPrimaryContext _localctx, int predIndex) {
53528 switch (predIndex) {
53529 case 3:
53530 return precpred(_ctx, 5);
53531 case 4:
53532 return precpred(_ctx, 4);
53533 case 5:
53534 return precpred(_ctx, 3);
53535 case 6:
53536 return precpred(_ctx, 2);
53537 }
53538 return true;
53539 }
53540 private boolean bitExpr_sempred(BitExprContext _localctx, int predIndex) {
53541 switch (predIndex) {
53542 case 7:
53543 return precpred(_ctx, 11);
53544 case 8:
53545 return precpred(_ctx, 10);
53546 case 9:
53547 return precpred(_ctx, 9);
53548 case 10:
53549 return precpred(_ctx, 8);
53550 case 11:
53551 return precpred(_ctx, 7);
53552 case 12:
53553 return precpred(_ctx, 6);
53554 case 13:
53555 return precpred(_ctx, 5);
53556 case 14:
53557 return precpred(_ctx, 4);
53558 case 15:
53559 return precpred(_ctx, 3);
53560 case 16:
53561 return precpred(_ctx, 2);
53562 }
53563 return true;
53564 }
53565 private boolean simpleExpr_sempred(SimpleExprContext _localctx, int predIndex) {
53566 switch (predIndex) {
53567 case 17:
53568 return precpred(_ctx, 7);
53569 }
53570 return true;
53571 }
53572
53573 private static final String _serializedATNSegment0 =
53574 "\u0004\u0001\u02dd\u1c2b\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001"+
53575 "\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004"+
53576 "\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007"+
53577 "\u0002\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b"+
53578 "\u0002\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007"+
53579 "\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007"+
53580 "\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007"+
53581 "\u0015\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007"+
53582 "\u0018\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007"+
53583 "\u001b\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002\u001e\u0007"+
53584 "\u001e\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007!\u0002\"\u0007"+
53585 "\"\u0002#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007&\u0002\'\u0007"+
53586 "\'\u0002(\u0007(\u0002)\u0007)\u0002*\u0007*\u0002+\u0007+\u0002,\u0007"+
53587 ",\u0002-\u0007-\u0002.\u0007.\u0002/\u0007/\u00020\u00070\u00021\u0007"+
53588 "1\u00022\u00072\u00023\u00073\u00024\u00074\u00025\u00075\u00026\u0007"+
53589 "6\u00027\u00077\u00028\u00078\u00029\u00079\u0002:\u0007:\u0002;\u0007"+
53590 ";\u0002<\u0007<\u0002=\u0007=\u0002>\u0007>\u0002?\u0007?\u0002@\u0007"+
53591 "@\u0002A\u0007A\u0002B\u0007B\u0002C\u0007C\u0002D\u0007D\u0002E\u0007"+
53592 "E\u0002F\u0007F\u0002G\u0007G\u0002H\u0007H\u0002I\u0007I\u0002J\u0007"+
53593 "J\u0002K\u0007K\u0002L\u0007L\u0002M\u0007M\u0002N\u0007N\u0002O\u0007"+
53594 "O\u0002P\u0007P\u0002Q\u0007Q\u0002R\u0007R\u0002S\u0007S\u0002T\u0007"+
53595 "T\u0002U\u0007U\u0002V\u0007V\u0002W\u0007W\u0002X\u0007X\u0002Y\u0007"+
53596 "Y\u0002Z\u0007Z\u0002[\u0007[\u0002\\\u0007\\\u0002]\u0007]\u0002^\u0007"+
53597 "^\u0002_\u0007_\u0002`\u0007`\u0002a\u0007a\u0002b\u0007b\u0002c\u0007"+
53598 "c\u0002d\u0007d\u0002e\u0007e\u0002f\u0007f\u0002g\u0007g\u0002h\u0007"+
53599 "h\u0002i\u0007i\u0002j\u0007j\u0002k\u0007k\u0002l\u0007l\u0002m\u0007"+
53600 "m\u0002n\u0007n\u0002o\u0007o\u0002p\u0007p\u0002q\u0007q\u0002r\u0007"+
53601 "r\u0002s\u0007s\u0002t\u0007t\u0002u\u0007u\u0002v\u0007v\u0002w\u0007"+
53602 "w\u0002x\u0007x\u0002y\u0007y\u0002z\u0007z\u0002{\u0007{\u0002|\u0007"+
53603 "|\u0002}\u0007}\u0002~\u0007~\u0002\u007f\u0007\u007f\u0002\u0080\u0007"+
53604 "\u0080\u0002\u0081\u0007\u0081\u0002\u0082\u0007\u0082\u0002\u0083\u0007"+
53605 "\u0083\u0002\u0084\u0007\u0084\u0002\u0085\u0007\u0085\u0002\u0086\u0007"+
53606 "\u0086\u0002\u0087\u0007\u0087\u0002\u0088\u0007\u0088\u0002\u0089\u0007"+
53607 "\u0089\u0002\u008a\u0007\u008a\u0002\u008b\u0007\u008b\u0002\u008c\u0007"+
53608 "\u008c\u0002\u008d\u0007\u008d\u0002\u008e\u0007\u008e\u0002\u008f\u0007"+
53609 "\u008f\u0002\u0090\u0007\u0090\u0002\u0091\u0007\u0091\u0002\u0092\u0007"+
53610 "\u0092\u0002\u0093\u0007\u0093\u0002\u0094\u0007\u0094\u0002\u0095\u0007"+
53611 "\u0095\u0002\u0096\u0007\u0096\u0002\u0097\u0007\u0097\u0002\u0098\u0007"+
53612 "\u0098\u0002\u0099\u0007\u0099\u0002\u009a\u0007\u009a\u0002\u009b\u0007"+
53613 "\u009b\u0002\u009c\u0007\u009c\u0002\u009d\u0007\u009d\u0002\u009e\u0007"+
53614 "\u009e\u0002\u009f\u0007\u009f\u0002\u00a0\u0007\u00a0\u0002\u00a1\u0007"+
53615 "\u00a1\u0002\u00a2\u0007\u00a2\u0002\u00a3\u0007\u00a3\u0002\u00a4\u0007"+
53616 "\u00a4\u0002\u00a5\u0007\u00a5\u0002\u00a6\u0007\u00a6\u0002\u00a7\u0007"+
53617 "\u00a7\u0002\u00a8\u0007\u00a8\u0002\u00a9\u0007\u00a9\u0002\u00aa\u0007"+
53618 "\u00aa\u0002\u00ab\u0007\u00ab\u0002\u00ac\u0007\u00ac\u0002\u00ad\u0007"+
53619 "\u00ad\u0002\u00ae\u0007\u00ae\u0002\u00af\u0007\u00af\u0002\u00b0\u0007"+
53620 "\u00b0\u0002\u00b1\u0007\u00b1\u0002\u00b2\u0007\u00b2\u0002\u00b3\u0007"+
53621 "\u00b3\u0002\u00b4\u0007\u00b4\u0002\u00b5\u0007\u00b5\u0002\u00b6\u0007"+
53622 "\u00b6\u0002\u00b7\u0007\u00b7\u0002\u00b8\u0007\u00b8\u0002\u00b9\u0007"+
53623 "\u00b9\u0002\u00ba\u0007\u00ba\u0002\u00bb\u0007\u00bb\u0002\u00bc\u0007"+
53624 "\u00bc\u0002\u00bd\u0007\u00bd\u0002\u00be\u0007\u00be\u0002\u00bf\u0007"+
53625 "\u00bf\u0002\u00c0\u0007\u00c0\u0002\u00c1\u0007\u00c1\u0002\u00c2\u0007"+
53626 "\u00c2\u0002\u00c3\u0007\u00c3\u0002\u00c4\u0007\u00c4\u0002\u00c5\u0007"+
53627 "\u00c5\u0002\u00c6\u0007\u00c6\u0002\u00c7\u0007\u00c7\u0002\u00c8\u0007"+
53628 "\u00c8\u0002\u00c9\u0007\u00c9\u0002\u00ca\u0007\u00ca\u0002\u00cb\u0007"+
53629 "\u00cb\u0002\u00cc\u0007\u00cc\u0002\u00cd\u0007\u00cd\u0002\u00ce\u0007"+
53630 "\u00ce\u0002\u00cf\u0007\u00cf\u0002\u00d0\u0007\u00d0\u0002\u00d1\u0007"+
53631 "\u00d1\u0002\u00d2\u0007\u00d2\u0002\u00d3\u0007\u00d3\u0002\u00d4\u0007"+
53632 "\u00d4\u0002\u00d5\u0007\u00d5\u0002\u00d6\u0007\u00d6\u0002\u00d7\u0007"+
53633 "\u00d7\u0002\u00d8\u0007\u00d8\u0002\u00d9\u0007\u00d9\u0002\u00da\u0007"+
53634 "\u00da\u0002\u00db\u0007\u00db\u0002\u00dc\u0007\u00dc\u0002\u00dd\u0007"+
53635 "\u00dd\u0002\u00de\u0007\u00de\u0002\u00df\u0007\u00df\u0002\u00e0\u0007"+
53636 "\u00e0\u0002\u00e1\u0007\u00e1\u0002\u00e2\u0007\u00e2\u0002\u00e3\u0007"+
53637 "\u00e3\u0002\u00e4\u0007\u00e4\u0002\u00e5\u0007\u00e5\u0002\u00e6\u0007"+
53638 "\u00e6\u0002\u00e7\u0007\u00e7\u0002\u00e8\u0007\u00e8\u0002\u00e9\u0007"+
53639 "\u00e9\u0002\u00ea\u0007\u00ea\u0002\u00eb\u0007\u00eb\u0002\u00ec\u0007"+
53640 "\u00ec\u0002\u00ed\u0007\u00ed\u0002\u00ee\u0007\u00ee\u0002\u00ef\u0007"+
53641 "\u00ef\u0002\u00f0\u0007\u00f0\u0002\u00f1\u0007\u00f1\u0002\u00f2\u0007"+
53642 "\u00f2\u0002\u00f3\u0007\u00f3\u0002\u00f4\u0007\u00f4\u0002\u00f5\u0007"+
53643 "\u00f5\u0002\u00f6\u0007\u00f6\u0002\u00f7\u0007\u00f7\u0002\u00f8\u0007"+
53644 "\u00f8\u0002\u00f9\u0007\u00f9\u0002\u00fa\u0007\u00fa\u0002\u00fb\u0007"+
53645 "\u00fb\u0002\u00fc\u0007\u00fc\u0002\u00fd\u0007\u00fd\u0002\u00fe\u0007"+
53646 "\u00fe\u0002\u00ff\u0007\u00ff\u0002\u0100\u0007\u0100\u0002\u0101\u0007"+
53647 "\u0101\u0002\u0102\u0007\u0102\u0002\u0103\u0007\u0103\u0002\u0104\u0007"+
53648 "\u0104\u0002\u0105\u0007\u0105\u0002\u0106\u0007\u0106\u0002\u0107\u0007"+
53649 "\u0107\u0002\u0108\u0007\u0108\u0002\u0109\u0007\u0109\u0002\u010a\u0007"+
53650 "\u010a\u0002\u010b\u0007\u010b\u0002\u010c\u0007\u010c\u0002\u010d\u0007"+
53651 "\u010d\u0002\u010e\u0007\u010e\u0002\u010f\u0007\u010f\u0002\u0110\u0007"+
53652 "\u0110\u0002\u0111\u0007\u0111\u0002\u0112\u0007\u0112\u0002\u0113\u0007"+
53653 "\u0113\u0002\u0114\u0007\u0114\u0002\u0115\u0007\u0115\u0002\u0116\u0007"+
53654 "\u0116\u0002\u0117\u0007\u0117\u0002\u0118\u0007\u0118\u0002\u0119\u0007"+
53655 "\u0119\u0002\u011a\u0007\u011a\u0002\u011b\u0007\u011b\u0002\u011c\u0007"+
53656 "\u011c\u0002\u011d\u0007\u011d\u0002\u011e\u0007\u011e\u0002\u011f\u0007"+
53657 "\u011f\u0002\u0120\u0007\u0120\u0002\u0121\u0007\u0121\u0002\u0122\u0007"+
53658 "\u0122\u0002\u0123\u0007\u0123\u0002\u0124\u0007\u0124\u0002\u0125\u0007"+
53659 "\u0125\u0002\u0126\u0007\u0126\u0002\u0127\u0007\u0127\u0002\u0128\u0007"+
53660 "\u0128\u0002\u0129\u0007\u0129\u0002\u012a\u0007\u012a\u0002\u012b\u0007"+
53661 "\u012b\u0002\u012c\u0007\u012c\u0002\u012d\u0007\u012d\u0002\u012e\u0007"+
53662 "\u012e\u0002\u012f\u0007\u012f\u0002\u0130\u0007\u0130\u0002\u0131\u0007"+
53663 "\u0131\u0002\u0132\u0007\u0132\u0002\u0133\u0007\u0133\u0002\u0134\u0007"+
53664 "\u0134\u0002\u0135\u0007\u0135\u0002\u0136\u0007\u0136\u0002\u0137\u0007"+
53665 "\u0137\u0002\u0138\u0007\u0138\u0002\u0139\u0007\u0139\u0002\u013a\u0007"+
53666 "\u013a\u0002\u013b\u0007\u013b\u0002\u013c\u0007\u013c\u0002\u013d\u0007"+
53667 "\u013d\u0002\u013e\u0007\u013e\u0002\u013f\u0007\u013f\u0002\u0140\u0007"+
53668 "\u0140\u0002\u0141\u0007\u0141\u0002\u0142\u0007\u0142\u0002\u0143\u0007"+
53669 "\u0143\u0002\u0144\u0007\u0144\u0002\u0145\u0007\u0145\u0002\u0146\u0007"+
53670 "\u0146\u0002\u0147\u0007\u0147\u0002\u0148\u0007\u0148\u0002\u0149\u0007"+
53671 "\u0149\u0002\u014a\u0007\u014a\u0002\u014b\u0007\u014b\u0002\u014c\u0007"+
53672 "\u014c\u0002\u014d\u0007\u014d\u0002\u014e\u0007\u014e\u0002\u014f\u0007"+
53673 "\u014f\u0002\u0150\u0007\u0150\u0002\u0151\u0007\u0151\u0002\u0152\u0007"+
53674 "\u0152\u0002\u0153\u0007\u0153\u0002\u0154\u0007\u0154\u0002\u0155\u0007"+
53675 "\u0155\u0002\u0156\u0007\u0156\u0002\u0157\u0007\u0157\u0002\u0158\u0007"+
53676 "\u0158\u0002\u0159\u0007\u0159\u0002\u015a\u0007\u015a\u0002\u015b\u0007"+
53677 "\u015b\u0002\u015c\u0007\u015c\u0002\u015d\u0007\u015d\u0002\u015e\u0007"+
53678 "\u015e\u0002\u015f\u0007\u015f\u0002\u0160\u0007\u0160\u0002\u0161\u0007"+
53679 "\u0161\u0002\u0162\u0007\u0162\u0002\u0163\u0007\u0163\u0002\u0164\u0007"+
53680 "\u0164\u0002\u0165\u0007\u0165\u0002\u0166\u0007\u0166\u0002\u0167\u0007"+
53681 "\u0167\u0002\u0168\u0007\u0168\u0002\u0169\u0007\u0169\u0002\u016a\u0007"+
53682 "\u016a\u0002\u016b\u0007\u016b\u0002\u016c\u0007\u016c\u0002\u016d\u0007"+
53683 "\u016d\u0002\u016e\u0007\u016e\u0002\u016f\u0007\u016f\u0002\u0170\u0007"+
53684 "\u0170\u0002\u0171\u0007\u0171\u0002\u0172\u0007\u0172\u0002\u0173\u0007"+
53685 "\u0173\u0002\u0174\u0007\u0174\u0002\u0175\u0007\u0175\u0002\u0176\u0007"+
53686 "\u0176\u0002\u0177\u0007\u0177\u0002\u0178\u0007\u0178\u0002\u0179\u0007"+
53687 "\u0179\u0002\u017a\u0007\u017a\u0002\u017b\u0007\u017b\u0002\u017c\u0007"+
53688 "\u017c\u0002\u017d\u0007\u017d\u0002\u017e\u0007\u017e\u0002\u017f\u0007"+
53689 "\u017f\u0002\u0180\u0007\u0180\u0002\u0181\u0007\u0181\u0002\u0182\u0007"+
53690 "\u0182\u0002\u0183\u0007\u0183\u0002\u0184\u0007\u0184\u0002\u0185\u0007"+
53691 "\u0185\u0002\u0186\u0007\u0186\u0002\u0187\u0007\u0187\u0002\u0188\u0007"+
53692 "\u0188\u0002\u0189\u0007\u0189\u0002\u018a\u0007\u018a\u0002\u018b\u0007"+
53693 "\u018b\u0002\u018c\u0007\u018c\u0002\u018d\u0007\u018d\u0002\u018e\u0007"+
53694 "\u018e\u0002\u018f\u0007\u018f\u0002\u0190\u0007\u0190\u0002\u0191\u0007"+
53695 "\u0191\u0002\u0192\u0007\u0192\u0002\u0193\u0007\u0193\u0002\u0194\u0007"+
53696 "\u0194\u0002\u0195\u0007\u0195\u0002\u0196\u0007\u0196\u0002\u0197\u0007"+
53697 "\u0197\u0002\u0198\u0007\u0198\u0002\u0199\u0007\u0199\u0002\u019a\u0007"+
53698 "\u019a\u0002\u019b\u0007\u019b\u0002\u019c\u0007\u019c\u0002\u019d\u0007"+
53699 "\u019d\u0002\u019e\u0007\u019e\u0002\u019f\u0007\u019f\u0002\u01a0\u0007"+
53700 "\u01a0\u0002\u01a1\u0007\u01a1\u0002\u01a2\u0007\u01a2\u0002\u01a3\u0007"+
53701 "\u01a3\u0002\u01a4\u0007\u01a4\u0002\u01a5\u0007\u01a5\u0002\u01a6\u0007"+
53702 "\u01a6\u0002\u01a7\u0007\u01a7\u0002\u01a8\u0007\u01a8\u0002\u01a9\u0007"+
53703 "\u01a9\u0002\u01aa\u0007\u01aa\u0002\u01ab\u0007\u01ab\u0002\u01ac\u0007"+
53704 "\u01ac\u0002\u01ad\u0007\u01ad\u0002\u01ae\u0007\u01ae\u0002\u01af\u0007"+
53705 "\u01af\u0002\u01b0\u0007\u01b0\u0002\u01b1\u0007\u01b1\u0002\u01b2\u0007"+
53706 "\u01b2\u0002\u01b3\u0007\u01b3\u0002\u01b4\u0007\u01b4\u0002\u01b5\u0007"+
53707 "\u01b5\u0002\u01b6\u0007\u01b6\u0002\u01b7\u0007\u01b7\u0002\u01b8\u0007"+
53708 "\u01b8\u0002\u01b9\u0007\u01b9\u0002\u01ba\u0007\u01ba\u0002\u01bb\u0007"+
53709 "\u01bb\u0002\u01bc\u0007\u01bc\u0002\u01bd\u0007\u01bd\u0002\u01be\u0007"+
53710 "\u01be\u0002\u01bf\u0007\u01bf\u0002\u01c0\u0007\u01c0\u0002\u01c1\u0007"+
53711 "\u01c1\u0002\u01c2\u0007\u01c2\u0002\u01c3\u0007\u01c3\u0002\u01c4\u0007"+
53712 "\u01c4\u0002\u01c5\u0007\u01c5\u0002\u01c6\u0007\u01c6\u0002\u01c7\u0007"+
53713 "\u01c7\u0002\u01c8\u0007\u01c8\u0002\u01c9\u0007\u01c9\u0002\u01ca\u0007"+
53714 "\u01ca\u0002\u01cb\u0007\u01cb\u0002\u01cc\u0007\u01cc\u0002\u01cd\u0007"+
53715 "\u01cd\u0002\u01ce\u0007\u01ce\u0002\u01cf\u0007\u01cf\u0002\u01d0\u0007"+
53716 "\u01d0\u0002\u01d1\u0007\u01d1\u0002\u01d2\u0007\u01d2\u0002\u01d3\u0007"+
53717 "\u01d3\u0002\u01d4\u0007\u01d4\u0002\u01d5\u0007\u01d5\u0002\u01d6\u0007"+
53718 "\u01d6\u0002\u01d7\u0007\u01d7\u0002\u01d8\u0007\u01d8\u0002\u01d9\u0007"+
53719 "\u01d9\u0002\u01da\u0007\u01da\u0002\u01db\u0007\u01db\u0002\u01dc\u0007"+
53720 "\u01dc\u0002\u01dd\u0007\u01dd\u0002\u01de\u0007\u01de\u0002\u01df\u0007"+
53721 "\u01df\u0002\u01e0\u0007\u01e0\u0002\u01e1\u0007\u01e1\u0002\u01e2\u0007"+
53722 "\u01e2\u0002\u01e3\u0007\u01e3\u0002\u01e4\u0007\u01e4\u0002\u01e5\u0007"+
53723 "\u01e5\u0002\u01e6\u0007\u01e6\u0002\u01e7\u0007\u01e7\u0002\u01e8\u0007"+
53724 "\u01e8\u0002\u01e9\u0007\u01e9\u0002\u01ea\u0007\u01ea\u0002\u01eb\u0007"+
53725 "\u01eb\u0002\u01ec\u0007\u01ec\u0002\u01ed\u0007\u01ed\u0002\u01ee\u0007"+
53726 "\u01ee\u0002\u01ef\u0007\u01ef\u0002\u01f0\u0007\u01f0\u0002\u01f1\u0007"+
53727 "\u01f1\u0002\u01f2\u0007\u01f2\u0002\u01f3\u0007\u01f3\u0002\u01f4\u0007"+
53728 "\u01f4\u0002\u01f5\u0007\u01f5\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53729 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53730 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53731 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53732 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53733 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53734 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53735 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53736 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53737 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
53738 "\u0000\u0001\u0000\u0003\u0000\u0428\b\u0000\u0001\u0000\u0003\u0000\u042b"+
53739 "\b\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
53740 "\u0001\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001"+
53741 "\u0002\u0001\u0002\u0001\u0002\u0003\u0002\u043b\b\u0002\u0001\u0003\u0001"+
53742 "\u0003\u0001\u0003\u0001\u0003\u0001\u0004\u0001\u0004\u0001\u0005\u0001"+
53743 "\u0005\u0001\u0005\u0001\u0005\u0003\u0005\u0447\b\u0005\u0001\u0005\u0001"+
53744 "\u0005\u0001\u0005\u0001\u0005\u0003\u0005\u044d\b\u0005\u0003\u0005\u044f"+
53745 "\b\u0005\u0003\u0005\u0451\b\u0005\u0001\u0006\u0001\u0006\u0001\u0006"+
53746 "\u0001\u0006\u0001\u0006\u0003\u0006\u0458\b\u0006\u0001\u0007\u0001\u0007"+
53747 "\u0001\u0007\u0001\u0007\u0003\u0007\u045e\b\u0007\u0003\u0007\u0460\b"+
53748 "\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001"+
53749 "\u0007\u0003\u0007\u0468\b\u0007\u0001\b\u0001\b\u0003\b\u046c\b\b\u0001"+
53750 "\t\u0001\t\u0001\t\u0001\t\u0001\t\u0001\t\u0003\t\u0474\b\t\u0001\n\u0001"+
53751 "\n\u0003\n\u0478\b\n\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0003"+
53752 "\u000b\u047e\b\u000b\u0001\f\u0001\f\u0001\r\u0001\r\u0001\r\u0001\r\u0001"+
53753 "\r\u0001\r\u0001\r\u0003\r\u0489\b\r\u0001\u000e\u0001\u000e\u0001\u000f"+
53754 "\u0003\u000f\u048e\b\u000f\u0001\u000f\u0001\u000f\u0001\u0010\u0001\u0010"+
53755 "\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0003\u0010"+
53756 "\u0499\b\u0010\u0001\u0011\u0001\u0011\u0001\u0012\u0001\u0012\u0001\u0013"+
53757 "\u0001\u0013\u0001\u0014\u0001\u0014\u0001\u0015\u0001\u0015\u0003\u0015"+
53758 "\u04a5\b\u0015\u0001\u0016\u0001\u0016\u0003\u0016\u04a9\b\u0016\u0001"+
53759 "\u0017\u0001\u0017\u0001\u0018\u0001\u0018\u0001\u0019\u0001\u0019\u0001"+
53760 "\u001a\u0001\u001a\u0001\u001b\u0001\u001b\u0001\u001b\u0003\u001b\u04b6"+
53761 "\b\u001b\u0001\u001b\u0001\u001b\u0001\u001c\u0001\u001c\u0001\u001c\u0003"+
53762 "\u001c\u04bd\b\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0003\u001c\u04c2"+
53763 "\b\u001c\u0001\u001d\u0001\u001d\u0001\u001d\u0003\u001d\u04c7\b\u001d"+
53764 "\u0001\u001d\u0001\u001d\u0001\u001e\u0001\u001e\u0001\u001e\u0003\u001e"+
53765 "\u04ce\b\u001e\u0001\u001e\u0001\u001e\u0001\u001f\u0001\u001f\u0001\u001f"+
53766 "\u0003\u001f\u04d5\b\u001f\u0001\u001f\u0001\u001f\u0001 \u0001 \u0001"+
53767 " \u0003 \u04dc\b \u0001 \u0003 \u04df\b \u0001 \u0003 \u04e2\b \u0001"+
53768 " \u0001 \u0001!\u0001!\u0001!\u0003!\u04e9\b!\u0001!\u0001!\u0001\"\u0001"+
53769 "\"\u0001#\u0001#\u0001$\u0001$\u0001$\u0003$\u04f4\b$\u0001$\u0001$\u0001"+
53770 "$\u0003$\u04f9\b$\u0001$\u0001$\u0003$\u04fd\b$\u0001%\u0001%\u0001%\u0001"+
53771 "%\u0001%\u0001&\u0001&\u0001\'\u0001\'\u0001(\u0001(\u0001(\u0001(\u0005"+
53772 "(\u050c\b(\n(\f(\u050f\t(\u0001(\u0001(\u0001)\u0001)\u0001)\u0001)\u0005"+
53773 ")\u0517\b)\n)\f)\u051a\t)\u0001)\u0001)\u0001*\u0003*\u051f\b*\u0001*"+
53774 "\u0001*\u0001*\u0005*\u0524\b*\n*\f*\u0527\t*\u0001*\u0003*\u052a\b*\u0001"+
53775 "+\u0001+\u0001,\u0001,\u0001-\u0001-\u0001.\u0001.\u0001.\u0003.\u0535"+
53776 "\b.\u0001/\u0001/\u0001/\u0001/\u0003/\u053b\b/\u0003/\u053d\b/\u0001"+
53777 "/\u0001/\u00010\u00030\u0542\b0\u00010\u00010\u00011\u00011\u00011\u0001"+
53778 "1\u00011\u00011\u00011\u00011\u00011\u00031\u054f\b1\u00011\u00011\u0001"+
53779 "1\u00011\u00011\u00011\u00011\u00011\u00011\u00011\u00011\u00011\u0005"+
53780 "1\u055d\b1\n1\f1\u0560\t1\u00012\u00012\u00013\u00013\u00014\u00014\u0003"+
53781 "4\u0568\b4\u00014\u00014\u00014\u00015\u00015\u00016\u00016\u00016\u0001"+
53782 "6\u00016\u00016\u00036\u0575\b6\u00016\u00016\u00016\u00016\u00016\u0001"+
53783 "6\u00016\u00016\u00016\u00016\u00016\u00016\u00016\u00056\u0584\b6\n6"+
53784 "\f6\u0587\t6\u00017\u00017\u00018\u00018\u00038\u058d\b8\u00018\u0001"+
53785 "8\u00018\u00018\u00018\u00038\u0594\b8\u00018\u00018\u00018\u00018\u0001"+
53786 "8\u00058\u059b\b8\n8\f8\u059e\t8\u00018\u00018\u00018\u00018\u00038\u05a4"+
53787 "\b8\u00018\u00018\u00018\u00018\u00018\u00018\u00018\u00038\u05ad\b8\u0001"+
53788 "8\u00018\u00018\u00018\u00038\u05b3\b8\u00018\u00038\u05b6\b8\u00019\u0001"+
53789 "9\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u0001"+
53790 "9\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u0001"+
53791 "9\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u0001"+
53792 "9\u00019\u00059\u05d9\b9\n9\f9\u05dc\t9\u0001:\u0001:\u0001:\u0001:\u0001"+
53793 ":\u0001:\u0001:\u0001:\u0001:\u0003:\u05e7\b:\u0001:\u0001:\u0001:\u0001"+
53794 ":\u0005:\u05ed\b:\n:\f:\u05f0\t:\u0001:\u0001:\u0001:\u0003:\u05f5\b:"+
53795 "\u0001:\u0001:\u0001:\u0001:\u0001:\u0001:\u0001:\u0001:\u0003:\u05ff"+
53796 "\b:\u0001:\u0001:\u0001:\u0005:\u0604\b:\n:\f:\u0607\t:\u0001;\u0001;"+
53797 "\u0001;\u0003;\u060c\b;\u0001<\u0001<\u0001<\u0003<\u0611\b<\u0001<\u0001"+
53798 "<\u0001<\u0005<\u0616\b<\n<\f<\u0619\t<\u0001<\u0003<\u061c\b<\u0001<"+
53799 "\u0001<\u0001=\u0001=\u0001>\u0001>\u0001?\u0001?\u0001?\u0001?\u0001"+
53800 "?\u0001?\u0001?\u0003?\u062b\b?\u0001@\u0001@\u0001@\u0001@\u0001@\u0001"+
53801 "@\u0001@\u0001@\u0001@\u0001@\u0001@\u0003@\u0638\b@\u0001@\u0001@\u0001"+
53802 "A\u0001A\u0003A\u063e\bA\u0001B\u0001B\u0001B\u0001B\u0001B\u0001B\u0001"+
53803 "B\u0001C\u0001C\u0001C\u0001C\u0001C\u0001C\u0001C\u0003C\u064e\bC\u0001"+
53804 "C\u0001C\u0001D\u0001D\u0003D\u0654\bD\u0001E\u0001E\u0001E\u0001E\u0001"+
53805 "E\u0005E\u065b\bE\nE\fE\u065e\tE\u0001E\u0003E\u0661\bE\u0003E\u0663\b"+
53806 "E\u0001E\u0001E\u0001F\u0001F\u0001F\u0001F\u0001F\u0005F\u066c\bF\nF"+
53807 "\fF\u066f\tF\u0001F\u0003F\u0672\bF\u0001F\u0001F\u0001G\u0001G\u0001"+
53808 "G\u0001G\u0001H\u0001H\u0001H\u0001H\u0001H\u0001H\u0003H\u0680\bH\u0001"+
53809 "I\u0001I\u0001I\u0001I\u0001I\u0005I\u0687\bI\nI\fI\u068a\tI\u0001I\u0001"+
53810 "I\u0003I\u068e\bI\u0001I\u0001I\u0001J\u0001J\u0001J\u0001J\u0001J\u0003"+
53811 "J\u0697\bJ\u0001J\u0001J\u0003J\u069b\bJ\u0001K\u0001K\u0001K\u0001K\u0001"+
53812 "K\u0005K\u06a2\bK\nK\fK\u06a5\tK\u0001K\u0001K\u0001L\u0001L\u0001L\u0003"+
53813 "L\u06ac\bL\u0001L\u0001L\u0003L\u06b0\bL\u0001M\u0001M\u0001M\u0001M\u0001"+
53814 "M\u0001M\u0001M\u0001M\u0001M\u0001M\u0001M\u0003M\u06bd\bM\u0001M\u0001"+
53815 "M\u0001M\u0003M\u06c2\bM\u0001M\u0001M\u0001M\u0001M\u0001M\u0001M\u0001"+
53816 "M\u0001M\u0005M\u06cc\bM\nM\fM\u06cf\tM\u0001M\u0001M\u0003M\u06d3\bM"+
53817 "\u0001N\u0001N\u0001N\u0001N\u0001N\u0005N\u06da\bN\nN\fN\u06dd\tN\u0001"+
53818 "N\u0003N\u06e0\bN\u0001N\u0001N\u0001O\u0001O\u0001O\u0003O\u06e7\bO\u0001"+
53819 "O\u0001O\u0001O\u0001O\u0001O\u0003O\u06ee\bO\u0001P\u0001P\u0003P\u06f2"+
53820 "\bP\u0001P\u0004P\u06f5\bP\u000bP\fP\u06f6\u0001P\u0003P\u06fa\bP\u0001"+
53821 "P\u0001P\u0001Q\u0001Q\u0001Q\u0001Q\u0001Q\u0001R\u0001R\u0001R\u0001"+
53822 "S\u0001S\u0001S\u0001S\u0003S\u070a\bS\u0001T\u0001T\u0001T\u0001T\u0001"+
53823 "T\u0005T\u0711\bT\nT\fT\u0714\tT\u0001T\u0001T\u0001T\u0001T\u0001T\u0001"+
53824 "T\u0001T\u0001T\u0001T\u0003T\u071f\bT\u0003T\u0721\bT\u0001U\u0001U\u0001"+
53825 "U\u0003U\u0726\bU\u0001U\u0001U\u0003U\u072a\bU\u0001U\u0003U\u072d\b"+
53826 "U\u0001V\u0001V\u0001V\u0003V\u0732\bV\u0001V\u0001V\u0001V\u0001V\u0001"+
53827 "V\u0001V\u0001V\u0003V\u073b\bV\u0001V\u0001V\u0001V\u0003V\u0740\bV\u0001"+
53828 "W\u0001W\u0001X\u0001X\u0001X\u0001X\u0003X\u0748\bX\u0001X\u0001X\u0001"+
53829 "Y\u0001Y\u0001Y\u0001Y\u0001Y\u0001Y\u0001Y\u0001Y\u0003Y\u0754\bY\u0001"+
53830 "Y\u0001Y\u0001Z\u0001Z\u0001Z\u0001Z\u0001Z\u0003Z\u075d\bZ\u0001Z\u0001"+
53831 "Z\u0001Z\u0001Z\u0003Z\u0763\bZ\u0001[\u0001[\u0001[\u0001[\u0001[\u0003"+
53832 "[\u076a\b[\u0001[\u0001[\u0001\\\u0001\\\u0001\\\u0001]\u0001]\u0001]"+
53833 "\u0003]\u0774\b]\u0001]\u0003]\u0777\b]\u0001]\u0003]\u077a\b]\u0001]"+
53834 "\u0001]\u0001^\u0001^\u0001^\u0001^\u0001^\u0005^\u0783\b^\n^\f^\u0786"+
53835 "\t^\u0001_\u0001_\u0001_\u0001`\u0001`\u0003`\u078d\b`\u0001a\u0001a\u0001"+
53836 "a\u0001a\u0001a\u0001b\u0001b\u0003b\u0796\bb\u0001c\u0001c\u0001c\u0001"+
53837 "c\u0001c\u0001c\u0003c\u079e\bc\u0001d\u0001d\u0001d\u0001d\u0001d\u0001"+
53838 "d\u0003d\u07a6\bd\u0001e\u0001e\u0003e\u07aa\be\u0001f\u0001f\u0001f\u0001"+
53839 "f\u0001f\u0001f\u0001f\u0001f\u0001f\u0001f\u0001f\u0003f\u07b7\bf\u0003"+
53840 "f\u07b9\bf\u0001g\u0001g\u0001g\u0001g\u0001h\u0001h\u0001h\u0003h\u07c2"+
53841 "\bh\u0001i\u0001i\u0001i\u0001j\u0001j\u0001k\u0001k\u0001k\u0001l\u0001"+
53842 "l\u0001l\u0001l\u0001l\u0001l\u0001m\u0001m\u0001m\u0005m\u07d5\bm\nm"+
53843 "\fm\u07d8\tm\u0001n\u0001n\u0003n\u07dc\bn\u0001o\u0001o\u0001o\u0001"+
53844 "o\u0001p\u0001p\u0001p\u0001p\u0001p\u0001p\u0003p\u07e8\bp\u0001p\u0001"+
53845 "p\u0001p\u0001p\u0001p\u0001p\u0001q\u0001q\u0001q\u0001q\u0001q\u0003"+
53846 "q\u07f5\bq\u0001r\u0001r\u0001s\u0001s\u0001s\u0005s\u07fc\bs\ns\fs\u07ff"+
53847 "\ts\u0001t\u0001t\u0001u\u0001u\u0001v\u0001v\u0001v\u0001v\u0001v\u0001"+
53848 "v\u0003v\u080b\bv\u0001w\u0001w\u0001x\u0001x\u0001y\u0001y\u0001z\u0001"+
53849 "z\u0001{\u0001{\u0001|\u0001|\u0001|\u0001}\u0001}\u0001~\u0001~\u0001"+
53850 "\u007f\u0001\u007f\u0003\u007f\u0820\b\u007f\u0001\u007f\u0001\u007f\u0001"+
53851 "\u0080\u0001\u0080\u0001\u0080\u0001\u0080\u0001\u0080\u0003\u0080\u0829"+
53852 "\b\u0080\u0001\u0081\u0001\u0081\u0003\u0081\u082d\b\u0081\u0001\u0082"+
53853 "\u0001\u0082\u0001\u0082\u0001\u0082\u0001\u0082\u0001\u0082\u0001\u0083"+
53854 "\u0001\u0083\u0001\u0083\u0001\u0083\u0001\u0083\u0001\u0083\u0001\u0083"+
53855 "\u0001\u0083\u0001\u0083\u0001\u0084\u0001\u0084\u0001\u0084\u0001\u0084"+
53856 "\u0001\u0084\u0001\u0085\u0001\u0085\u0001\u0085\u0003\u0085\u0846\b\u0085"+
53857 "\u0001\u0085\u0001\u0085\u0001\u0085\u0001\u0085\u0001\u0085\u0001\u0086"+
53858 "\u0001\u0086\u0001\u0086\u0003\u0086\u0850\b\u0086\u0001\u0086\u0001\u0086"+
53859 "\u0001\u0086\u0001\u0086\u0001\u0086\u0001\u0087\u0001\u0087\u0001\u0087"+
53860 "\u0003\u0087\u085a\b\u0087\u0001\u0087\u0001\u0087\u0001\u0087\u0001\u0087"+
53861 "\u0001\u0088\u0001\u0088\u0001\u0088\u0003\u0088\u0863\b\u0088\u0001\u0088"+
53862 "\u0001\u0088\u0001\u0088\u0001\u0088\u0001\u0088\u0001\u0088\u0001\u0089"+
53863 "\u0001\u0089\u0001\u0089\u0001\u0089\u0005\u0089\u086f\b\u0089\n\u0089"+
53864 "\f\u0089\u0872\t\u0089\u0001\u008a\u0001\u008a\u0001\u008a\u0001\u008a"+
53865 "\u0001\u008a\u0003\u008a\u0879\b\u008a\u0001\u008a\u0001\u008a\u0001\u008a"+
53866 "\u0001\u008a\u0003\u008a\u087f\b\u008a\u0001\u008b\u0001\u008b\u0001\u008b"+
53867 "\u0001\u008b\u0005\u008b\u0885\b\u008b\n\u008b\f\u008b\u0888\t\u008b\u0001"+
53868 "\u008c\u0001\u008c\u0001\u008c\u0001\u008c\u0001\u008c\u0001\u008c\u0005"+
53869 "\u008c\u0890\b\u008c\n\u008c\f\u008c\u0893\t\u008c\u0001\u008d\u0001\u008d"+
53870 "\u0001\u008d\u0001\u008d\u0003\u008d\u0899\b\u008d\u0001\u008d\u0001\u008d"+
53871 "\u0001\u008d\u0001\u008d\u0001\u008e\u0001\u008e\u0001\u008e\u0001\u008e"+
53872 "\u0003\u008e\u08a3\b\u008e\u0001\u008e\u0005\u008e\u08a6\b\u008e\n\u008e"+
53873 "\f\u008e\u08a9\t\u008e\u0001\u008f\u0001\u008f\u0001\u008f\u0001\u008f"+
53874 "\u0001\u008f\u0001\u008f\u0001\u0090\u0001\u0090\u0001\u0090\u0001\u0090"+
53875 "\u0001\u0090\u0001\u0090\u0001\u0091\u0001\u0091\u0001\u0091\u0001\u0091"+
53876 "\u0001\u0091\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092"+
53877 "\u0001\u0092\u0001\u0092\u0001\u0093\u0001\u0093\u0001\u0093\u0001\u0093"+
53878 "\u0005\u0093\u08c7\b\u0093\n\u0093\f\u0093\u08ca\t\u0093\u0001\u0094\u0001"+
53879 "\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0001\u0094\u0003\u0094\u08d2"+
53880 "\b\u0094\u0001\u0094\u0003\u0094\u08d5\b\u0094\u0001\u0095\u0001\u0095"+
53881 "\u0001\u0095\u0001\u0095\u0001\u0095\u0003\u0095\u08dc\b\u0095\u0001\u0095"+
53882 "\u0001\u0095\u0001\u0096\u0001\u0096\u0001\u0096\u0003\u0096\u08e3\b\u0096"+
53883 "\u0001\u0096\u0001\u0096\u0001\u0097\u0001\u0097\u0001\u0097\u0003\u0097"+
53884 "\u08ea\b\u0097\u0001\u0097\u0001\u0097\u0001\u0097\u0001\u0097\u0001\u0098"+
53885 "\u0001\u0098\u0001\u0098\u0003\u0098\u08f3\b\u0098\u0001\u0098\u0001\u0098"+
53886 "\u0001\u0098\u0005\u0098\u08f8\b\u0098\n\u0098\f\u0098\u08fb\t\u0098\u0001"+
53887 "\u0099\u0001\u0099\u0001\u0099\u0003\u0099\u0900\b\u0099\u0001\u0099\u0001"+
53888 "\u0099\u0001\u0099\u0005\u0099\u0905\b\u0099\n\u0099\f\u0099\u0908\t\u0099"+
53889 "\u0001\u009a\u0001\u009a\u0001\u009a\u0003\u009a\u090d\b\u009a\u0001\u009a"+
53890 "\u0001\u009a\u0001\u009a\u0005\u009a\u0912\b\u009a\n\u009a\f\u009a\u0915"+
53891 "\t\u009a\u0001\u009b\u0001\u009b\u0001\u009b\u0003\u009b\u091a\b\u009b"+
53892 "\u0001\u009b\u0001\u009b\u0001\u009b\u0005\u009b\u091f\b\u009b\n\u009b"+
53893 "\f\u009b\u0922\t\u009b\u0001\u009c\u0001\u009c\u0001\u009c\u0003\u009c"+
53894 "\u0927\b\u009c\u0001\u009c\u0001\u009c\u0001\u009c\u0005\u009c\u092c\b"+
53895 "\u009c\n\u009c\f\u009c\u092f\t\u009c\u0001\u009c\u0001\u009c\u0001\u009c"+
53896 "\u0001\u009c\u0003\u009c\u0935\b\u009c\u0003\u009c\u0937\b\u009c\u0001"+
53897 "\u009d\u0001\u009d\u0001\u009d\u0003\u009d\u093c\b\u009d\u0001\u009d\u0001"+
53898 "\u009d\u0001\u009d\u0005\u009d\u0941\b\u009d\n\u009d\f\u009d\u0944\t\u009d"+
53899 "\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009e\u0001\u009f\u0001\u009f"+
53900 "\u0001\u009f\u0003\u009f\u094d\b\u009f\u0001\u009f\u0001\u009f\u0001\u00a0"+
53901 "\u0001\u00a0\u0001\u00a0\u0001\u00a0\u0001\u00a1\u0001\u00a1\u0001\u00a1"+
53902 "\u0001\u00a1\u0003\u00a1\u0959\b\u00a1\u0001\u00a1\u0001\u00a1\u0001\u00a1"+
53903 "\u0005\u00a1\u095e\b\u00a1\n\u00a1\f\u00a1\u0961\t\u00a1\u0001\u00a1\u0003"+
53904 "\u00a1\u0964\b\u00a1\u0003\u00a1\u0966\b\u00a1\u0001\u00a1\u0003\u00a1"+
53905 "\u0969\b\u00a1\u0001\u00a2\u0001\u00a2\u0003\u00a2\u096d\b\u00a2\u0001"+
53906 "\u00a2\u0003\u00a2\u0970\b\u00a2\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001"+
53907 "\u00a3\u0003\u00a3\u0976\b\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0003"+
53908 "\u00a3\u097b\b\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001"+
53909 "\u00a3\u0001\u00a3\u0001\u00a3\u0005\u00a3\u0984\b\u00a3\n\u00a3\f\u00a3"+
53910 "\u0987\t\u00a3\u0001\u00a3\u0003\u00a3\u098a\b\u00a3\u0003\u00a3\u098c"+
53911 "\b\u00a3\u0001\u00a4\u0003\u00a4\u098f\b\u00a4\u0001\u00a4\u0004\u00a4"+
53912 "\u0992\b\u00a4\u000b\u00a4\f\u00a4\u0993\u0001\u00a5\u0001\u00a5\u0001"+
53913 "\u00a5\u0001\u00a5\u0001\u00a5\u0001\u00a5\u0001\u00a5\u0001\u00a5\u0001"+
53914 "\u00a5\u0001\u00a5\u0001\u00a5\u0001\u00a5\u0001\u00a5\u0003\u00a5\u09a3"+
53915 "\b\u00a5\u0001\u00a6\u0001\u00a6\u0003\u00a6\u09a7\b\u00a6\u0001\u00a7"+
53916 "\u0001\u00a7\u0001\u00a7\u0001\u00a7\u0001\u00a8\u0001\u00a8\u0001\u00a8"+
53917 "\u0001\u00a8\u0005\u00a8\u09b1\b\u00a8\n\u00a8\f\u00a8\u09b4\t\u00a8\u0001"+
53918 "\u00a8\u0001\u00a8\u0003\u00a8\u09b8\b\u00a8\u0001\u00a8\u0001\u00a8\u0001"+
53919 "\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0003\u00a9\u09c1"+
53920 "\b\u00a9\u0001\u00aa\u0001\u00aa\u0001\u00aa\u0005\u00aa\u09c6\b\u00aa"+
53921 "\n\u00aa\f\u00aa\u09c9\t\u00aa\u0001\u00aa\u0001\u00aa\u0003\u00aa\u09cd"+
53922 "\b\u00aa\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001"+
53923 "\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001"+
53924 "\u00ab\u0001\u00ab\u0003\u00ab\u09dc\b\u00ab\u0001\u00ab\u0001\u00ab\u0001"+
53925 "\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0003"+
53926 "\u00ab\u09e6\b\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001"+
53927 "\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0003\u00ab\u09f1"+
53928 "\b\u00ab\u0001\u00ab\u0003\u00ab\u09f4\b\u00ab\u0001\u00ab\u0001\u00ab"+
53929 "\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab\u0001\u00ab"+
53930 "\u0005\u00ab\u09fe\b\u00ab\n\u00ab\f\u00ab\u0a01\t\u00ab\u0001\u00ab\u0003"+
53931 "\u00ab\u0a04\b\u00ab\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001"+
53932 "\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001"+
53933 "\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0001\u00ad\u0001\u00ad\u0003"+
53934 "\u00ad\u0a16\b\u00ad\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0003\u00ad\u0a1b"+
53935 "\b\u00ad\u0001\u00ae\u0001\u00ae\u0003\u00ae\u0a1f\b\u00ae\u0001\u00ae"+
53936 "\u0001\u00ae\u0001\u00ae\u0003\u00ae\u0a24\b\u00ae\u0001\u00af\u0001\u00af"+
53937 "\u0003\u00af\u0a28\b\u00af\u0001\u00af\u0001\u00af\u0001\u00af\u0001\u00af"+
53938 "\u0001\u00af\u0003\u00af\u0a2f\b\u00af\u0001\u00af\u0005\u00af\u0a32\b"+
53939 "\u00af\n\u00af\f\u00af\u0a35\t\u00af\u0001\u00b0\u0001\u00b0\u0001\u00b0"+
53940 "\u0001\u00b0\u0001\u00b0\u0003\u00b0\u0a3c\b\u00b0\u0001\u00b0\u0001\u00b0"+
53941 "\u0001\u00b0\u0001\u00b0\u0001\u00b0\u0001\u00b0\u0001\u00b0\u0003\u00b0"+
53942 "\u0a45\b\u00b0\u0001\u00b1\u0001\u00b1\u0003\u00b1\u0a49\b\u00b1\u0001"+
53943 "\u00b1\u0001\u00b1\u0003\u00b1\u0a4d\b\u00b1\u0001\u00b2\u0003\u00b2\u0a50"+
53944 "\b\u00b2\u0001\u00b2\u0003\u00b2\u0a53\b\u00b2\u0001\u00b2\u0003\u00b2"+
53945 "\u0a56\b\u00b2\u0001\u00b3\u0001\u00b3\u0001\u00b4\u0001\u00b4\u0001\u00b4"+
53946 "\u0001\u00b4\u0001\u00b4\u0001\u00b4\u0001\u00b4\u0001\u00b4\u0005\u00b4"+
53947 "\u0a62\b\u00b4\n\u00b4\f\u00b4\u0a65\t\u00b4\u0001\u00b4\u0001\u00b4\u0003"+
53948 "\u00b4\u0a69\b\u00b4\u0001\u00b5\u0001\u00b5\u0001\u00b5\u0003\u00b5\u0a6e"+
53949 "\b\u00b5\u0001\u00b6\u0001\u00b6\u0001\u00b6\u0001\u00b6\u0001\u00b6\u0001"+
53950 "\u00b6\u0001\u00b7\u0001\u00b7\u0001\u00b7\u0001\u00b8\u0001\u00b8\u0001"+
53951 "\u00b8\u0001\u00b9\u0001\u00b9\u0001\u00b9\u0001\u00b9\u0003\u00b9\u0a80"+
53952 "\b\u00b9\u0003\u00b9\u0a82\b\u00b9\u0001\u00ba\u0001\u00ba\u0001\u00ba"+
53953 "\u0001\u00ba\u0001\u00ba\u0001\u00ba\u0001\u00ba\u0001\u00bb\u0001\u00bb"+
53954 "\u0003\u00bb\u0a8d\b\u00bb\u0001\u00bb\u0001\u00bb\u0001\u00bb\u0001\u00bb"+
53955 "\u0001\u00bb\u0001\u00bb\u0003\u00bb\u0a95\b\u00bb\u0001\u00bb\u0005\u00bb"+
53956 "\u0a98\b\u00bb\n\u00bb\f\u00bb\u0a9b\t\u00bb\u0001\u00bc\u0001\u00bc\u0001"+
53957 "\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0003\u00bc\u0aa3\b\u00bc\u0001"+
53958 "\u00bd\u0001\u00bd\u0001\u00bd\u0001\u00bd\u0001\u00bd\u0003\u00bd\u0aaa"+
53959 "\b\u00bd\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0003\u00be\u0ab0"+
53960 "\b\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00bf\u0001"+
53961 "\u00bf\u0001\u00bf\u0003\u00bf\u0ab9\b\u00bf\u0001\u00bf\u0003\u00bf\u0abc"+
53962 "\b\u00bf\u0001\u00bf\u0003\u00bf\u0abf\b\u00bf\u0001\u00bf\u0003\u00bf"+
53963 "\u0ac2\b\u00bf\u0001\u00c0\u0001\u00c0\u0001\u00c0\u0001\u00c0\u0001\u00c0"+
53964 "\u0005\u00c0\u0ac9\b\u00c0\n\u00c0\f\u00c0\u0acc\t\u00c0\u0001\u00c0\u0001"+
53965 "\u00c0\u0001\u00c1\u0001\u00c1\u0001\u00c1\u0003\u00c1\u0ad3\b\u00c1\u0001"+
53966 "\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c3\u0001\u00c3\u0001\u00c3\u0001"+
53967 "\u00c3\u0003\u00c3\u0adc\b\u00c3\u0001\u00c4\u0001\u00c4\u0001\u00c4\u0005"+
53968 "\u00c4\u0ae1\b\u00c4\n\u00c4\f\u00c4\u0ae4\t\u00c4\u0003\u00c4\u0ae6\b"+
53969 "\u00c4\u0001\u00c5\u0001\u00c5\u0001\u00c5\u0001\u00c5\u0001\u00c5\u0001"+
53970 "\u00c5\u0003\u00c5\u0aee\b\u00c5\u0003\u00c5\u0af0\b\u00c5\u0001\u00c5"+
53971 "\u0003\u00c5\u0af3\b\u00c5\u0001\u00c6\u0001\u00c6\u0001\u00c6\u0001\u00c6"+
53972 "\u0001\u00c6\u0001\u00c6\u0001\u00c7\u0001\u00c7\u0003\u00c7\u0afd\b\u00c7"+
53973 "\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0003\u00c7\u0b02\b\u00c7\u0001\u00c8"+
53974 "\u0001\u00c8\u0001\u00c8\u0003\u00c8\u0b07\b\u00c8\u0001\u00c9\u0001\u00c9"+
53975 "\u0003\u00c9\u0b0b\b\u00c9\u0001\u00ca\u0003\u00ca\u0b0e\b\u00ca\u0001"+
53976 "\u00ca\u0001\u00ca\u0003\u00ca\u0b12\b\u00ca\u0001\u00ca\u0003\u00ca\u0b15"+
53977 "\b\u00ca\u0001\u00cb\u0001\u00cb\u0001\u00cb\u0003\u00cb\u0b1a\b\u00cb"+
53978 "\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0001\u00cd\u0001\u00cd"+
53979 "\u0003\u00cd\u0b22\b\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd\u0001\u00cd"+
53980 "\u0001\u00cd\u0005\u00cd\u0b29\b\u00cd\n\u00cd\f\u00cd\u0b2c\t\u00cd\u0001"+
53981 "\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0003\u00ce\u0b33"+
53982 "\b\u00ce\u0001\u00ce\u0003\u00ce\u0b36\b\u00ce\u0001\u00ce\u0003\u00ce"+
53983 "\u0b39\b\u00ce\u0001\u00cf\u0003\u00cf\u0b3c\b\u00cf\u0001\u00cf\u0001"+
53984 "\u00cf\u0001\u00cf\u0001\u00cf\u0003\u00cf\u0b42\b\u00cf\u0001\u00cf\u0001"+
53985 "\u00cf\u0003\u00cf\u0b46\b\u00cf\u0001\u00d0\u0001\u00d0\u0001\u00d0\u0001"+
53986 "\u00d0\u0005\u00d0\u0b4c\b\u00d0\n\u00d0\f\u00d0\u0b4f\t\u00d0\u0001\u00d0"+
53987 "\u0001\u00d0\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d1"+
53988 "\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d2\u0001\u00d2"+
53989 "\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001\u00d2"+
53990 "\u0003\u00d2\u0b64\b\u00d2\u0003\u00d2\u0b66\b\u00d2\u0001\u00d3\u0001"+
53991 "\u00d3\u0001\u00d3\u0003\u00d3\u0b6b\b\u00d3\u0003\u00d3\u0b6d\b\u00d3"+
53992 "\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0003\u00d3"+
53993 "\u0b74\b\u00d3\u0003\u00d3\u0b76\b\u00d3\u0001\u00d3\u0001\u00d3\u0003"+
53994 "\u00d3\u0b7a\b\u00d3\u0001\u00d4\u0001\u00d4\u0001\u00d4\u0001\u00d4\u0005"+
53995 "\u00d4\u0b80\b\u00d4\n\u00d4\f\u00d4\u0b83\t\u00d4\u0001\u00d4\u0001\u00d4"+
53996 "\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5"+
53997 "\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0003\u00d5\u0b90\b\u00d5\u0001\u00d5"+
53998 "\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5"+
53999 "\u0003\u00d5\u0b99\b\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5"+
54000 "\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5"+
54001 "\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0003\u00d5\u0ba8\b\u00d5\u0001\u00d5"+
54002 "\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0003\u00d5\u0bae\b\u00d5\u0001\u00d5"+
54003 "\u0001\u00d5\u0003\u00d5\u0bb2\b\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5"+
54004 "\u0001\u00d5\u0001\u00d5\u0003\u00d5\u0bb9\b\u00d5\u0001\u00d6\u0001\u00d6"+
54005 "\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6"+
54006 "\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d7\u0001\u00d7"+
54007 "\u0001\u00d7\u0001\u00d7\u0005\u00d7\u0bcb\b\u00d7\n\u00d7\f\u00d7\u0bce"+
54008 "\t\u00d7\u0001\u00d7\u0001\u00d7\u0001\u00d8\u0001\u00d8\u0001\u00d8\u0001"+
54009 "\u00d8\u0003\u00d8\u0bd6\b\u00d8\u0001\u00d8\u0003\u00d8\u0bd9\b\u00d8"+
54010 "\u0001\u00d8\u0001\u00d8\u0001\u00d8\u0001\u00d8\u0001\u00d9\u0001\u00d9"+
54011 "\u0001\u00d9\u0001\u00d9\u0001\u00d9\u0001\u00d9\u0001\u00da\u0001\u00da"+
54012 "\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00da"+
54013 "\u0001\u00da\u0001\u00da\u0003\u00da\u0bef\b\u00da\u0003\u00da\u0bf1\b"+
54014 "\u00da\u0001\u00db\u0001\u00db\u0001\u00db\u0001\u00db\u0001\u00db\u0001"+
54015 "\u00db\u0001\u00db\u0001\u00db\u0001\u00db\u0003\u00db\u0bfc\b\u00db\u0001"+
54016 "\u00dc\u0001\u00dc\u0001\u00dc\u0001\u00dc\u0001\u00dc\u0001\u00dc\u0001"+
54017 "\u00dc\u0001\u00dc\u0001\u00dc\u0001\u00dc\u0001\u00dc\u0001\u00dc\u0001"+
54018 "\u00dc\u0001\u00dc\u0003\u00dc\u0c0c\b\u00dc\u0001\u00dc\u0001\u00dc\u0001"+
54019 "\u00dc\u0003\u00dc\u0c11\b\u00dc\u0005\u00dc\u0c13\b\u00dc\n\u00dc\f\u00dc"+
54020 "\u0c16\t\u00dc\u0001\u00dc\u0001\u00dc\u0003\u00dc\u0c1a\b\u00dc\u0001"+
54021 "\u00dd\u0001\u00dd\u0001\u00dd\u0001\u00dd\u0001\u00dd\u0003\u00dd\u0c21"+
54022 "\b\u00dd\u0001\u00dd\u0001\u00dd\u0001\u00dd\u0001\u00dd\u0001\u00dd\u0001"+
54023 "\u00dd\u0005\u00dd\u0c29\b\u00dd\n\u00dd\f\u00dd\u0c2c\t\u00dd\u0001\u00dd"+
54024 "\u0001\u00dd\u0001\u00dd\u0001\u00de\u0003\u00de\u0c32\b\u00de\u0001\u00de"+
54025 "\u0003\u00de\u0c35\b\u00de\u0001\u00df\u0001\u00df\u0001\u00df\u0001\u00df"+
54026 "\u0001\u00df\u0001\u00df\u0001\u00df\u0001\u00df\u0001\u00df\u0003\u00df"+
54027 "\u0c40\b\u00df\u0001\u00e0\u0001\u00e0\u0003\u00e0\u0c44\b\u00e0\u0001"+
54028 "\u00e0\u0001\u00e0\u0001\u00e0\u0003\u00e0\u0c49\b\u00e0\u0001\u00e1\u0001"+
54029 "\u00e1\u0001\u00e1\u0001\u00e1\u0003\u00e1\u0c4f\b\u00e1\u0001\u00e1\u0001"+
54030 "\u00e1\u0001\u00e1\u0003\u00e1\u0c54\b\u00e1\u0001\u00e1\u0003\u00e1\u0c57"+
54031 "\b\u00e1\u0001\u00e2\u0001\u00e2\u0001\u00e2\u0001\u00e2\u0001\u00e3\u0001"+
54032 "\u00e3\u0001\u00e3\u0005\u00e3\u0c60\b\u00e3\n\u00e3\f\u00e3\u0c63\t\u00e3"+
54033 "\u0001\u00e4\u0001\u00e4\u0001\u00e4\u0001\u00e4\u0001\u00e4\u0001\u00e4"+
54034 "\u0003\u00e4\u0c6b\b\u00e4\u0001\u00e5\u0001\u00e5\u0003\u00e5\u0c6f\b"+
54035 "\u00e5\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0001"+
54036 "\u00e6\u0001\u00e6\u0001\u00e6\u0001\u00e6\u0001\u00e6\u0001\u00e6\u0001"+
54037 "\u00e6\u0001\u00e6\u0003\u00e6\u0c7e\b\u00e6\u0001\u00e7\u0001\u00e7\u0001"+
54038 "\u00e7\u0001\u00e7\u0001\u00e7\u0003\u00e7\u0c85\b\u00e7\u0001\u00e7\u0001"+
54039 "\u00e7\u0001\u00e7\u0001\u00e8\u0001\u00e8\u0001\u00e8\u0001\u00e8\u0001"+
54040 "\u00e8\u0001\u00e8\u0001\u00e8\u0003\u00e8\u0c91\b\u00e8\u0001\u00e8\u0003"+
54041 "\u00e8\u0c94\b\u00e8\u0001\u00e8\u0001\u00e8\u0003\u00e8\u0c98\b\u00e8"+
54042 "\u0001\u00e8\u0001\u00e8\u0003\u00e8\u0c9c\b\u00e8\u0001\u00e9\u0001\u00e9"+
54043 "\u0001\u00e9\u0001\u00e9\u0001\u00e9\u0001\u00e9\u0001\u00e9\u0003\u00e9"+
54044 "\u0ca5\b\u00e9\u0001\u00ea\u0003\u00ea\u0ca8\b\u00ea\u0001\u00ea\u0003"+
54045 "\u00ea\u0cab\b\u00ea\u0001\u00ea\u0001\u00ea\u0001\u00ea\u0005\u00ea\u0cb0"+
54046 "\b\u00ea\n\u00ea\f\u00ea\u0cb3\t\u00ea\u0001\u00eb\u0001\u00eb\u0003\u00eb"+
54047 "\u0cb7\b\u00eb\u0001\u00ec\u0001\u00ec\u0001\u00ec\u0001\u00ec\u0001\u00ec"+
54048 "\u0005\u00ec\u0cbe\b\u00ec\n\u00ec\f\u00ec\u0cc1\t\u00ec\u0001\u00ec\u0001"+
54049 "\u00ec\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0001"+
54050 "\u00ed\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0001"+
54051 "\u00ed\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0003\u00ed\u0cd4\b\u00ed\u0003"+
54052 "\u00ed\u0cd6\b\u00ed\u0001\u00ee\u0001\u00ee\u0001\u00ef\u0001\u00ef\u0003"+
54053 "\u00ef\u0cdc\b\u00ef\u0001\u00ef\u0001\u00ef\u0001\u00ef\u0005\u00ef\u0ce1"+
54054 "\b\u00ef\n\u00ef\f\u00ef\u0ce4\t\u00ef\u0001\u00f0\u0001\u00f0\u0003\u00f0"+
54055 "\u0ce8\b\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f0\u0005\u00f0\u0ced\b"+
54056 "\u00f0\n\u00f0\f\u00f0\u0cf0\t\u00f0\u0001\u00f1\u0003\u00f1\u0cf3\b\u00f1"+
54057 "\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0003\u00f1\u0cf9\b\u00f1"+
54058 "\u0001\u00f2\u0001\u00f2\u0001\u00f2\u0001\u00f2\u0003\u00f2\u0cff\b\u00f2"+
54059 "\u0001\u00f3\u0001\u00f3\u0001\u00f3\u0003\u00f3\u0d04\b\u00f3\u0001\u00f3"+
54060 "\u0001\u00f3\u0001\u00f3\u0001\u00f3\u0003\u00f3\u0d0a\b\u00f3\u0001\u00f3"+
54061 "\u0001\u00f3\u0001\u00f3\u0001\u00f3\u0001\u00f3\u0003\u00f3\u0d11\b\u00f3"+
54062 "\u0001\u00f4\u0001\u00f4\u0001\u00f4\u0001\u00f4\u0003\u00f4\u0d17\b\u00f4"+
54063 "\u0001\u00f4\u0001\u00f4\u0001\u00f5\u0001\u00f5\u0001\u00f5\u0001\u00f5"+
54064 "\u0001\u00f5\u0003\u00f5\u0d20\b\u00f5\u0001\u00f6\u0001\u00f6\u0001\u00f6"+
54065 "\u0001\u00f6\u0001\u00f6\u0003\u00f6\u0d27\b\u00f6\u0003\u00f6\u0d29\b"+
54066 "\u00f6\u0001\u00f7\u0001\u00f7\u0001\u00f7\u0001\u00f7\u0003\u00f7\u0d2f"+
54067 "\b\u00f7\u0001\u00f7\u0003\u00f7\u0d32\b\u00f7\u0001\u00f7\u0003\u00f7"+
54068 "\u0d35\b\u00f7\u0001\u00f7\u0001\u00f7\u0001\u00f8\u0003\u00f8\u0d3a\b"+
54069 "\u00f8\u0001\u00f8\u0001\u00f8\u0001\u00f8\u0001\u00f8\u0001\u00f9\u0003"+
54070 "\u00f9\u0d41\b\u00f9\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0001"+
54071 "\u00fa\u0001\u00fa\u0001\u00fa\u0003\u00fa\u0d4a\b\u00fa\u0001\u00fb\u0001"+
54072 "\u00fb\u0001\u00fb\u0003\u00fb\u0d4f\b\u00fb\u0001\u00fc\u0001\u00fc\u0001"+
54073 "\u00fc\u0001\u00fd\u0001\u00fd\u0001\u00fd\u0001\u00fd\u0003\u00fd\u0d58"+
54074 "\b\u00fd\u0003\u00fd\u0d5a\b\u00fd\u0001\u00fe\u0001\u00fe\u0001\u00fe"+
54075 "\u0003\u00fe\u0d5f\b\u00fe\u0001\u00ff\u0001\u00ff\u0001\u00ff\u0001\u00ff"+
54076 "\u0001\u00ff\u0001\u00ff\u0001\u00ff\u0003\u00ff\u0d68\b\u00ff\u0003\u00ff"+
54077 "\u0d6a\b\u00ff\u0001\u00ff\u0003\u00ff\u0d6d\b\u00ff\u0001\u0100\u0001"+
54078 "\u0100\u0001\u0100\u0001\u0100\u0001\u0100\u0001\u0100\u0001\u0100\u0001"+
54079 "\u0100\u0001\u0100\u0001\u0100\u0001\u0100\u0001\u0100\u0001\u0100\u0001"+
54080 "\u0100\u0001\u0100\u0001\u0100\u0003\u0100\u0d7f\b\u0100\u0003\u0100\u0d81"+
54081 "\b\u0100\u0001\u0101\u0001\u0101\u0001\u0101\u0001\u0101\u0001\u0101\u0001"+
54082 "\u0101\u0001\u0101\u0001\u0101\u0003\u0101\u0d8b\b\u0101\u0001\u0101\u0001"+
54083 "\u0101\u0001\u0102\u0001\u0102\u0001\u0102\u0003\u0102\u0d92\b\u0102\u0001"+
54084 "\u0102\u0003\u0102\u0d95\b\u0102\u0001\u0102\u0001\u0102\u0003\u0102\u0d99"+
54085 "\b\u0102\u0001\u0102\u0001\u0102\u0001\u0102\u0001\u0102\u0005\u0102\u0d9f"+
54086 "\b\u0102\n\u0102\f\u0102\u0da2\t\u0102\u0003\u0102\u0da4\b\u0102\u0001"+
54087 "\u0103\u0001\u0103\u0003\u0103\u0da8\b\u0103\u0001\u0103\u0001\u0103\u0001"+
54088 "\u0103\u0005\u0103\u0dad\b\u0103\n\u0103\f\u0103\u0db0\t\u0103\u0001\u0103"+
54089 "\u0001\u0103\u0005\u0103\u0db4\b\u0103\n\u0103\f\u0103\u0db7\t\u0103\u0001"+
54090 "\u0103\u0001\u0103\u0001\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0005"+
54091 "\u0104\u0dbf\b\u0104\n\u0104\f\u0104\u0dc2\t\u0104\u0001\u0104\u0001\u0104"+
54092 "\u0001\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0001\u0104"+
54093 "\u0001\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0001\u0104"+
54094 "\u0001\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0001\u0104"+
54095 "\u0001\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0003\u0104"+
54096 "\u0ddd\b\u0104\u0001\u0105\u0001\u0105\u0001\u0105\u0001\u0105\u0001\u0105"+
54097 "\u0001\u0105\u0003\u0105\u0de5\b\u0105\u0001\u0106\u0001\u0106\u0001\u0106"+
54098 "\u0001\u0106\u0001\u0106\u0001\u0106\u0001\u0106\u0001\u0106\u0001\u0106"+
54099 "\u0001\u0106\u0001\u0106\u0001\u0107\u0001\u0107\u0001\u0107\u0001\u0107"+
54100 "\u0001\u0107\u0003\u0107\u0df7\b\u0107\u0003\u0107\u0df9\b\u0107\u0001"+
54101 "\u0107\u0001\u0107\u0001\u0107\u0001\u0107\u0001\u0107\u0003\u0107\u0e00"+
54102 "\b\u0107\u0001\u0107\u0003\u0107\u0e03\b\u0107\u0003\u0107\u0e05\b\u0107"+
54103 "\u0001\u0107\u0001\u0107\u0001\u0107\u0001\u0107\u0001\u0107\u0003\u0107"+
54104 "\u0e0c\b\u0107\u0003\u0107\u0e0e\b\u0107\u0001\u0108\u0001\u0108\u0001"+
54105 "\u0108\u0003\u0108\u0e13\b\u0108\u0001\u0108\u0001\u0108\u0001\u0108\u0005"+
54106 "\u0108\u0e18\b\u0108\n\u0108\f\u0108\u0e1b\t\u0108\u0001\u0109\u0001\u0109"+
54107 "\u0003\u0109\u0e1f\b\u0109\u0001\u0109\u0003\u0109\u0e22\b\u0109\u0001"+
54108 "\u0109\u0001\u0109\u0003\u0109\u0e26\b\u0109\u0001\u010a\u0001\u010a\u0001"+
54109 "\u010a\u0001\u010a\u0001\u010a\u0005\u010a\u0e2d\b\u010a\n\u010a\f\u010a"+
54110 "\u0e30\t\u010a\u0003\u010a\u0e32\b\u010a\u0001\u010b\u0001\u010b\u0001"+
54111 "\u010b\u0001\u010b\u0005\u010b\u0e38\b\u010b\n\u010b\f\u010b\u0e3b\t\u010b"+
54112 "\u0001\u010b\u0003\u010b\u0e3e\b\u010b\u0001\u010c\u0001\u010c\u0003\u010c"+
54113 "\u0e42\b\u010c\u0001\u010c\u0001\u010c\u0001\u010c\u0003\u010c\u0e47\b"+
54114 "\u010c\u0001\u010c\u0001\u010c\u0001\u010c\u0003\u010c\u0e4c\b\u010c\u0001"+
54115 "\u010d\u0001\u010d\u0003\u010d\u0e50\b\u010d\u0001\u010d\u0001\u010d\u0001"+
54116 "\u010e\u0001\u010e\u0001\u010e\u0001\u010e\u0001\u010e\u0005\u010e\u0e59"+
54117 "\b\u010e\n\u010e\f\u010e\u0e5c\t\u010e\u0001\u010e\u0001\u010e\u0001\u010f"+
54118 "\u0001\u010f\u0003\u010f\u0e62\b\u010f\u0001\u0110\u0001\u0110\u0001\u0110"+
54119 "\u0001\u0110\u0003\u0110\u0e68\b\u0110\u0001\u0110\u0001\u0110\u0003\u0110"+
54120 "\u0e6c\b\u0110\u0001\u0110\u0001\u0110\u0003\u0110\u0e70\b\u0110\u0001"+
54121 "\u0110\u0001\u0110\u0001\u0110\u0001\u0110\u0001\u0110\u0001\u0110\u0003"+
54122 "\u0110\u0e78\b\u0110\u0003\u0110\u0e7a\b\u0110\u0001\u0110\u0003\u0110"+
54123 "\u0e7d\b\u0110\u0001\u0110\u0001\u0110\u0001\u0111\u0001\u0111\u0001\u0111"+
54124 "\u0003\u0111\u0e84\b\u0111\u0001\u0111\u0001\u0111\u0001\u0111\u0003\u0111"+
54125 "\u0e89\b\u0111\u0001\u0111\u0001\u0111\u0001\u0111\u0001\u0111\u0001\u0111"+
54126 "\u0001\u0111\u0001\u0111\u0003\u0111\u0e92\b\u0111\u0001\u0112\u0001\u0112"+
54127 "\u0001\u0112\u0003\u0112\u0e97\b\u0112\u0001\u0112\u0001\u0112\u0001\u0112"+
54128 "\u0001\u0112\u0005\u0112\u0e9d\b\u0112\n\u0112\f\u0112\u0ea0\t\u0112\u0001"+
54129 "\u0112\u0001\u0112\u0001\u0112\u0001\u0112\u0003\u0112\u0ea6\b\u0112\u0001"+
54130 "\u0113\u0001\u0113\u0001\u0113\u0001\u0113\u0001\u0114\u0001\u0114\u0003"+
54131 "\u0114\u0eae\b\u0114\u0001\u0114\u0001\u0114\u0001\u0114\u0001\u0114\u0001"+
54132 "\u0114\u0001\u0114\u0001\u0114\u0003\u0114\u0eb7\b\u0114\u0001\u0114\u0001"+
54133 "\u0114\u0001\u0114\u0001\u0114\u0001\u0114\u0001\u0114\u0001\u0114\u0001"+
54134 "\u0114\u0001\u0114\u0001\u0114\u0003\u0114\u0ec3\b\u0114\u0001\u0115\u0001"+
54135 "\u0115\u0001\u0115\u0001\u0115\u0001\u0115\u0001\u0115\u0001\u0115\u0001"+
54136 "\u0115\u0001\u0115\u0001\u0115\u0001\u0115\u0001\u0115\u0005\u0115\u0ed1"+
54137 "\b\u0115\n\u0115\f\u0115\u0ed4\t\u0115\u0003\u0115\u0ed6\b\u0115\u0003"+
54138 "\u0115\u0ed8\b\u0115\u0001\u0116\u0003\u0116\u0edb\b\u0116\u0001\u0116"+
54139 "\u0003\u0116\u0ede\b\u0116\u0001\u0116\u0003\u0116\u0ee1\b\u0116\u0001"+
54140 "\u0116\u0003\u0116\u0ee4\b\u0116\u0001\u0117\u0001\u0117\u0001\u0117\u0001"+
54141 "\u0117\u0001\u0117\u0001\u0117\u0001\u0117\u0001\u0117\u0001\u0117\u0001"+
54142 "\u0117\u0001\u0117\u0001\u0117\u0001\u0117\u0001\u0117\u0001\u0117\u0001"+
54143 "\u0117\u0003\u0117\u0ef6\b\u0117\u0001\u0118\u0001\u0118\u0001\u0118\u0003"+
54144 "\u0118\u0efb\b\u0118\u0001\u0118\u0001\u0118\u0001\u0118\u0003\u0118\u0f00"+
54145 "\b\u0118\u0001\u0118\u0001\u0118\u0001\u0118\u0003\u0118\u0f05\b\u0118"+
54146 "\u0001\u0118\u0003\u0118\u0f08\b\u0118\u0005\u0118\u0f0a\b\u0118\n\u0118"+
54147 "\f\u0118\u0f0d\t\u0118\u0001\u0118\u0001\u0118\u0001\u0119\u0001\u0119"+
54148 "\u0001\u0119\u0003\u0119\u0f14\b\u0119\u0001\u011a\u0001\u011a\u0001\u011a"+
54149 "\u0001\u011a\u0001\u011a\u0001\u011a\u0001\u011a\u0001\u011a\u0005\u011a"+
54150 "\u0f1e\b\u011a\n\u011a\f\u011a\u0f21\t\u011a\u0003\u011a\u0f23\b\u011a"+
54151 "\u0001\u011a\u0003\u011a\u0f26\b\u011a\u0001\u011a\u0001\u011a\u0001\u011a"+
54152 "\u0001\u011a\u0001\u011a\u0001\u011b\u0001\u011b\u0001\u011b\u0001\u011b"+
54153 "\u0001\u011b\u0001\u011b\u0005\u011b\u0f33\b\u011b\n\u011b\f\u011b\u0f36"+
54154 "\t\u011b\u0003\u011b\u0f38\b\u011b\u0001\u011b\u0003\u011b\u0f3b\b\u011b"+
54155 "\u0001\u011b\u0001\u011b\u0003\u011b\u0f3f\b\u011b\u0001\u011b\u0001\u011b"+
54156 "\u0003\u011b\u0f43\b\u011b\u0001\u011c\u0001\u011c\u0001\u011c\u0001\u011c"+
54157 "\u0001\u011c\u0001\u011c\u0005\u011c\u0f4b\b\u011c\n\u011c\f\u011c\u0f4e"+
54158 "\t\u011c\u0003\u011c\u0f50\b\u011c\u0001\u011c\u0003\u011c\u0f53\b\u011c"+
54159 "\u0001\u011c\u0001\u011c\u0001\u011c\u0001\u011c\u0001\u011c\u0001\u011d"+
54160 "\u0001\u011d\u0001\u011d\u0001\u011d\u0003\u011d\u0f5e\b\u011d\u0001\u011d"+
54161 "\u0005\u011d\u0f61\b\u011d\n\u011d\f\u011d\u0f64\t\u011d\u0001\u011e\u0005"+
54162 "\u011e\u0f67\b\u011e\n\u011e\f\u011e\u0f6a\t\u011e\u0001\u011f\u0003\u011f"+
54163 "\u0f6d\b\u011f\u0001\u011f\u0003\u011f\u0f70\b\u011f\u0001\u011f\u0001"+
54164 "\u011f\u0001\u011f\u0001\u011f\u0001\u011f\u0001\u011f\u0001\u011f\u0001"+
54165 "\u011f\u0001\u011f\u0003\u011f\u0f7b\b\u011f\u0001\u011f\u0003\u011f\u0f7e"+
54166 "\b\u011f\u0001\u011f\u0001\u011f\u0001\u011f\u0003\u011f\u0f83\b\u011f"+
54167 "\u0003\u011f\u0f85\b\u011f\u0001\u0120\u0001\u0120\u0001\u0120\u0001\u0120"+
54168 "\u0001\u0120\u0001\u0120\u0001\u0120\u0001\u0120\u0001\u0120\u0001\u0120"+
54169 "\u0003\u0120\u0f91\b\u0120\u0001\u0120\u0003\u0120\u0f94\b\u0120\u0001"+
54170 "\u0121\u0001\u0121\u0001\u0121\u0005\u0121\u0f99\b\u0121\n\u0121\f\u0121"+
54171 "\u0f9c\t\u0121\u0003\u0121\u0f9e\b\u0121\u0001\u0122\u0001\u0122\u0003"+
54172 "\u0122\u0fa2\b\u0122\u0001\u0122\u0001\u0122\u0003\u0122\u0fa6\b\u0122"+
54173 "\u0001\u0122\u0003\u0122\u0fa9\b\u0122\u0001\u0123\u0003\u0123\u0fac\b"+
54174 "\u0123\u0001\u0123\u0001\u0123\u0003\u0123\u0fb0\b\u0123\u0001\u0123\u0001"+
54175 "\u0123\u0001\u0123\u0001\u0124\u0001\u0124\u0001\u0124\u0001\u0124\u0005"+
54176 "\u0124\u0fb9\b\u0124\n\u0124\f\u0124\u0fbc\t\u0124\u0003\u0124\u0fbe\b"+
54177 "\u0124\u0001\u0125\u0001\u0125\u0001\u0125\u0001\u0125\u0001\u0125\u0003"+
54178 "\u0125\u0fc5\b\u0125\u0001\u0126\u0003\u0126\u0fc8\b\u0126\u0001\u0126"+
54179 "\u0001\u0126\u0003\u0126\u0fcc\b\u0126\u0001\u0126\u0001\u0126\u0001\u0126"+
54180 "\u0001\u0126\u0001\u0126\u0003\u0126\u0fd3\b\u0126\u0001\u0126\u0001\u0126"+
54181 "\u0001\u0126\u0003\u0126\u0fd8\b\u0126\u0001\u0126\u0001\u0126\u0001\u0126"+
54182 "\u0001\u0126\u0001\u0126\u0001\u0126\u0001\u0126\u0005\u0126\u0fe1\b\u0126"+
54183 "\n\u0126\f\u0126\u0fe4\t\u0126\u0001\u0126\u0001\u0126\u0003\u0126\u0fe8"+
54184 "\b\u0126\u0003\u0126\u0fea\b\u0126\u0001\u0127\u0001\u0127\u0001\u0127"+
54185 "\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127"+
54186 "\u0001\u0127\u0001\u0127\u0003\u0127\u0ff7\b\u0127\u0001\u0127\u0001\u0127"+
54187 "\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127"+
54188 "\u0001\u0127\u0003\u0127\u1002\b\u0127\u0001\u0128\u0001\u0128\u0001\u0128"+
54189 "\u0001\u0128\u0005\u0128\u1008\b\u0128\n\u0128\f\u0128\u100b\t\u0128\u0003"+
54190 "\u0128\u100d\b\u0128\u0001\u0128\u0001\u0128\u0003\u0128\u1011\b\u0128"+
54191 "\u0001\u0128\u0001\u0128\u0001\u0128\u0001\u0128\u0003\u0128\u1017\b\u0128"+
54192 "\u0001\u0129\u0001\u0129\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a"+
54193 "\u0005\u012a\u101f\b\u012a\n\u012a\f\u012a\u1022\t\u012a\u0001\u012b\u0001"+
54194 "\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0005\u012b\u1029\b\u012b\n"+
54195 "\u012b\f\u012b\u102c\t\u012b\u0001\u012b\u0001\u012b\u0003\u012b\u1030"+
54196 "\b\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001"+
54197 "\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0003\u012c\u103c"+
54198 "\b\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0003\u012c\u1042"+
54199 "\b\u012c\u0001\u012c\u0003\u012c\u1045\b\u012c\u0001\u012c\u0003\u012c"+
54200 "\u1048\b\u012c\u0001\u012c\u0003\u012c\u104b\b\u012c\u0001\u012c\u0003"+
54201 "\u012c\u104e\b\u012c\u0001\u012c\u0003\u012c\u1051\b\u012c\u0001\u012c"+
54202 "\u0003\u012c\u1054\b\u012c\u0001\u012c\u0001\u012c\u0003\u012c\u1058\b"+
54203 "\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0003\u012c\u105d\b\u012c\u0001"+
54204 "\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0001\u012c\u0003\u012c\u1064"+
54205 "\b\u012c\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0003"+
54206 "\u012d\u106b\b\u012d\u0001\u012e\u0001\u012e\u0001\u012e\u0001\u012e\u0001"+
54207 "\u012e\u0001\u012e\u0001\u012f\u0001\u012f\u0001\u012f\u0001\u012f\u0001"+
54208 "\u012f\u0003\u012f\u1078\b\u012f\u0001\u0130\u0001\u0130\u0001\u0130\u0001"+
54209 "\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001"+
54210 "\u0130\u0003\u0130\u1084\b\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001"+
54211 "\u0130\u0003\u0130\u108a\b\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001"+
54212 "\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0003\u0130\u1093\b\u0130\u0001"+
54213 "\u0130\u0003\u0130\u1096\b\u0130\u0001\u0131\u0001\u0131\u0003\u0131\u109a"+
54214 "\b\u0131\u0001\u0131\u0001\u0131\u0003\u0131\u109e\b\u0131\u0001\u0131"+
54215 "\u0001\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0005\u0131\u10a5\b\u0131"+
54216 "\n\u0131\f\u0131\u10a8\t\u0131\u0001\u0131\u0001\u0131\u0003\u0131\u10ac"+
54217 "\b\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0001"+
54218 "\u0131\u0001\u0131\u0003\u0131\u10b5\b\u0131\u0003\u0131\u10b7\b\u0131"+
54219 "\u0001\u0131\u0001\u0131\u0001\u0131\u0003\u0131\u10bc\b\u0131\u0003\u0131"+
54220 "\u10be\b\u0131\u0001\u0132\u0001\u0132\u0001\u0132\u0005\u0132\u10c3\b"+
54221 "\u0132\n\u0132\f\u0132\u10c6\t\u0132\u0001\u0133\u0001\u0133\u0001\u0133"+
54222 "\u0001\u0133\u0001\u0133\u0001\u0133\u0005\u0133\u10ce\b\u0133\n\u0133"+
54223 "\f\u0133\u10d1\t\u0133\u0001\u0133\u0001\u0133\u0001\u0133\u0001\u0133"+
54224 "\u0001\u0133\u0001\u0133\u0003\u0133\u10d9\b\u0133\u0001\u0134\u0001\u0134"+
54225 "\u0001\u0134\u0001\u0134\u0001\u0134\u0003\u0134\u10e0\b\u0134\u0003\u0134"+
54226 "\u10e2\b\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0001\u0134"+
54227 "\u0005\u0134\u10e9\b\u0134\n\u0134\f\u0134\u10ec\t\u0134\u0001\u0134\u0001"+
54228 "\u0134\u0003\u0134\u10f0\b\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0001"+
54229 "\u0134\u0001\u0134\u0003\u0134\u10f7\b\u0134\u0001\u0134\u0001\u0134\u0001"+
54230 "\u0134\u0001\u0134\u0001\u0134\u0003\u0134\u10fe\b\u0134\u0001\u0134\u0001"+
54231 "\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0001"+
54232 "\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0001"+
54233 "\u0134\u0005\u0134\u110e\b\u0134\n\u0134\f\u0134\u1111\t\u0134\u0001\u0134"+
54234 "\u0001\u0134\u0003\u0134\u1115\b\u0134\u0001\u0134\u0001\u0134\u0003\u0134"+
54235 "\u1119\b\u0134\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135"+
54236 "\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135"+
54237 "\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135"+
54238 "\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135"+
54239 "\u0001\u0135\u0001\u0135\u0003\u0135\u1134\b\u0135\u0001\u0135\u0003\u0135"+
54240 "\u1137\b\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135"+
54241 "\u0001\u0135\u0001\u0135\u0003\u0135\u1140\b\u0135\u0001\u0135\u0001\u0135"+
54242 "\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135"+
54243 "\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135"+
54244 "\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135"+
54245 "\u0001\u0135\u0005\u0135\u1157\b\u0135\n\u0135\f\u0135\u115a\t\u0135\u0003"+
54246 "\u0135\u115c\b\u0135\u0003\u0135\u115e\b\u0135\u0001\u0136\u0001\u0136"+
54247 "\u0001\u0136\u0003\u0136\u1163\b\u0136\u0001\u0137\u0001\u0137\u0001\u0137"+
54248 "\u0001\u0137\u0001\u0137\u0001\u0137\u0003\u0137\u116b\b\u0137\u0001\u0138"+
54249 "\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138"+
54250 "\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138"+
54251 "\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138"+
54252 "\u0003\u0138\u1180\b\u0138\u0003\u0138\u1182\b\u0138\u0001\u0139\u0001"+
54253 "\u0139\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139\u0003"+
54254 "\u0139\u118b\b\u0139\u0001\u0139\u0003\u0139\u118e\b\u0139\u0001\u013a"+
54255 "\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a"+
54256 "\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0005\u013a\u119b\b\u013a"+
54257 "\n\u013a\f\u013a\u119e\t\u013a\u0001\u013a\u0001\u013a\u0003\u013a\u11a2"+
54258 "\b\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0005"+
54259 "\u013a\u11a9\b\u013a\n\u013a\f\u013a\u11ac\t\u013a\u0001\u013a\u0001\u013a"+
54260 "\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a"+
54261 "\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a"+
54262 "\u0001\u013a\u0005\u013a\u11bd\b\u013a\n\u013a\f\u013a\u11c0\t\u013a\u0003"+
54263 "\u013a\u11c2\b\u013a\u0001\u013a\u0001\u013a\u0003\u013a\u11c6\b\u013a"+
54264 "\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b"+
54265 "\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0003\u013b\u11d2\b\u013b"+
54266 "\u0003\u013b\u11d4\b\u013b\u0001\u013c\u0001\u013c\u0001\u013c\u0001\u013c"+
54267 "\u0001\u013c\u0001\u013c\u0001\u013c\u0001\u013c\u0001\u013c\u0001\u013c"+
54268 "\u0001\u013c\u0003\u013c\u11e1\b\u013c\u0003\u013c\u11e3\b\u013c\u0001"+
54269 "\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001"+
54270 "\u013d\u0001\u013d\u0003\u013d\u11ed\b\u013d\u0001\u013e\u0001\u013e\u0001"+
54271 "\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001"+
54272 "\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001"+
54273 "\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001"+
54274 "\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001"+
54275 "\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001"+
54276 "\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001"+
54277 "\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e\u0003\u013e\u121a"+
54278 "\b\u013e\u0001\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0003\u013f\u1220"+
54279 "\b\u013f\u0001\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0001"+
54280 "\u0140\u0001\u0140\u0003\u0140\u1229\b\u0140\u0001\u0140\u0001\u0140\u0001"+
54281 "\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0001"+
54282 "\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0003\u0140\u1238"+
54283 "\b\u0140\u0001\u0141\u0001\u0141\u0003\u0141\u123c\b\u0141\u0001\u0142"+
54284 "\u0001\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0005\u0142\u1243\b\u0142"+
54285 "\n\u0142\f\u0142\u1246\t\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0003"+
54286 "\u0142\u124b\b\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0001"+
54287 "\u0142\u0001\u0142\u0005\u0142\u1253\b\u0142\n\u0142\f\u0142\u1256\t\u0142"+
54288 "\u0001\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0001\u0142"+
54289 "\u0003\u0142\u125e\b\u0142\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143"+
54290 "\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0003\u0143"+
54291 "\u1269\b\u0143\u0001\u0144\u0001\u0144\u0001\u0144\u0001\u0144\u0001\u0144"+
54292 "\u0001\u0144\u0001\u0144\u0001\u0144\u0001\u0144\u0001\u0144\u0003\u0144"+
54293 "\u1275\b\u0144\u0003\u0144\u1277\b\u0144\u0001\u0144\u0001\u0144\u0001"+
54294 "\u0144\u0001\u0144\u0001\u0144\u0001\u0144\u0003\u0144\u127f\b\u0144\u0001"+
54295 "\u0145\u0001\u0145\u0001\u0145\u0001\u0145\u0001\u0145\u0001\u0145\u0001"+
54296 "\u0145\u0001\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0003"+
54297 "\u0146\u128d\b\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0005"+
54298 "\u0146\u1293\b\u0146\n\u0146\f\u0146\u1296\t\u0146\u0001\u0146\u0001\u0146"+
54299 "\u0003\u0146\u129a\b\u0146\u0003\u0146\u129c\b\u0146\u0001\u0147\u0001"+
54300 "\u0147\u0001\u0147\u0001\u0147\u0001\u0147\u0001\u0147\u0001\u0147\u0003"+
54301 "\u0147\u12a5\b\u0147\u0001\u0148\u0001\u0148\u0001\u0148\u0001\u0148\u0003"+
54302 "\u0148\u12ab\b\u0148\u0001\u0149\u0001\u0149\u0001\u0149\u0001\u0149\u0001"+
54303 "\u0149\u0001\u0149\u0001\u0149\u0001\u0149\u0001\u0149\u0001\u0149\u0001"+
54304 "\u0149\u0001\u0149\u0001\u0149\u0001\u0149\u0001\u0149\u0001\u0149\u0001"+
54305 "\u0149\u0001\u0149\u0001\u0149\u0003\u0149\u12c0\b\u0149\u0001\u014a\u0001"+
54306 "\u014a\u0001\u014a\u0001\u014a\u0001\u014a\u0003\u014a\u12c7\b\u014a\u0001"+
54307 "\u014a\u0001\u014a\u0001\u014a\u0001\u014a\u0005\u014a\u12cd\b\u014a\n"+
54308 "\u014a\f\u014a\u12d0\t\u014a\u0001\u014a\u0001\u014a\u0003\u014a\u12d4"+
54309 "\b\u014a\u0003\u014a\u12d6\b\u014a\u0001\u014b\u0001\u014b\u0001\u014b"+
54310 "\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014b"+
54311 "\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014b"+
54312 "\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014b"+
54313 "\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014b"+
54314 "\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014b"+
54315 "\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014b\u0005\u014b\u12fd\b\u014b"+
54316 "\n\u014b\f\u014b\u1300\t\u014b\u0001\u014b\u0001\u014b\u0003\u014b\u1304"+
54317 "\b\u014b\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001"+
54318 "\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001\u014c\u0001"+
54319 "\u014c\u0001\u014c\u0003\u014c\u1313\b\u014c\u0001\u014d\u0001\u014d\u0001"+
54320 "\u014d\u0001\u014d\u0001\u014d\u0001\u014d\u0003\u014d\u131b\b\u014d\u0001"+
54321 "\u014e\u0001\u014e\u0001\u014e\u0001\u014e\u0001\u014e\u0001\u014e\u0001"+
54322 "\u014e\u0001\u014e\u0001\u014e\u0001\u014e\u0001\u014e\u0001\u014e\u0001"+
54323 "\u014e\u0001\u014e\u0001\u014e\u0001\u014e\u0001\u014e\u0001\u014e\u0001"+
54324 "\u014e\u0001\u014e\u0001\u014e\u0003\u014e\u1332\b\u014e\u0001\u014f\u0001"+
54325 "\u014f\u0001\u014f\u0001\u014f\u0001\u014f\u0001\u014f\u0001\u014f\u0003"+
54326 "\u014f\u133b\b\u014f\u0001\u0150\u0001\u0150\u0001\u0150\u0001\u0150\u0001"+
54327 "\u0150\u0001\u0150\u0003\u0150\u1343\b\u0150\u0001\u0151\u0001\u0151\u0001"+
54328 "\u0151\u0001\u0151\u0001\u0151\u0001\u0152\u0001\u0152\u0001\u0152\u0001"+
54329 "\u0152\u0003\u0152\u134e\b\u0152\u0001\u0152\u0001\u0152\u0001\u0152\u0003"+
54330 "\u0152\u1353\b\u0152\u0001\u0153\u0001\u0153\u0001\u0153\u0001\u0153\u0005"+
54331 "\u0153\u1359\b\u0153\n\u0153\f\u0153\u135c\t\u0153\u0001\u0153\u0001\u0153"+
54332 "\u0001\u0154\u0001\u0154\u0001\u0154\u0001\u0154\u0005\u0154\u1364\b\u0154"+
54333 "\n\u0154\f\u0154\u1367\t\u0154\u0001\u0154\u0001\u0154\u0001\u0155\u0001"+
54334 "\u0155\u0001\u0155\u0001\u0155\u0001\u0155\u0001\u0155\u0003\u0155\u1371"+
54335 "\b\u0155\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0156\u0001\u0156\u0001"+
54336 "\u0156\u0001\u0156\u0003\u0156\u137a\b\u0156\u0001\u0157\u0001\u0157\u0001"+
54337 "\u0157\u0001\u0157\u0001\u0157\u0003\u0157\u1381\b\u0157\u0001\u0158\u0001"+
54338 "\u0158\u0003\u0158\u1385\b\u0158\u0001\u0159\u0001\u0159\u0001\u0159\u0001"+
54339 "\u0159\u0003\u0159\u138b\b\u0159\u0001\u0159\u0001\u0159\u0001\u0159\u0001"+
54340 "\u0159\u0001\u0159\u0001\u015a\u0001\u015a\u0001\u015a\u0001\u015a\u0001"+
54341 "\u015a\u0001\u015a\u0001\u015a\u0001\u015a\u0001\u015a\u0001\u015a\u0001"+
54342 "\u015a\u0001\u015a\u0001\u015a\u0001\u015a\u0003\u015a\u13a0\b\u015a\u0001"+
54343 "\u015a\u0001\u015a\u0001\u015a\u0001\u015b\u0001\u015b\u0001\u015b\u0001"+
54344 "\u015b\u0001\u015b\u0001\u015b\u0001\u015b\u0005\u015b\u13ac\b\u015b\n"+
54345 "\u015b\f\u015b\u13af\t\u015b\u0003\u015b\u13b1\b\u015b\u0001\u015b\u0001"+
54346 "\u015b\u0001\u015c\u0001\u015c\u0001\u015c\u0001\u015c\u0001\u015c\u0005"+
54347 "\u015c\u13ba\b\u015c\n\u015c\f\u015c\u13bd\t\u015c\u0001\u015c\u0001\u015c"+
54348 "\u0003\u015c\u13c1\b\u015c\u0001\u015d\u0003\u015d\u13c4\b\u015d\u0001"+
54349 "\u015d\u0001\u015d\u0003\u015d\u13c8\b\u015d\u0001\u015d\u0003\u015d\u13cb"+
54350 "\b\u015d\u0001\u015d\u0001\u015d\u0003\u015d\u13cf\b\u015d\u0001\u015d"+
54351 "\u0003\u015d\u13d2\b\u015d\u0001\u015d\u0003\u015d\u13d5\b\u015d\u0001"+
54352 "\u015d\u0001\u015d\u0001\u015d\u0001\u015d\u0003\u015d\u13db\b\u015d\u0001"+
54353 "\u015e\u0003\u015e\u13de\b\u015e\u0001\u015e\u0003\u015e\u13e1\b\u015e"+
54354 "\u0001\u015e\u0001\u015e\u0001\u015e\u0001\u015f\u0003\u015f\u13e7\b\u015f"+
54355 "\u0001\u015f\u0003\u015f\u13ea\b\u015f\u0001\u015f\u0001\u015f\u0001\u015f"+
54356 "\u0001\u015f\u0005\u015f\u13f0\b\u015f\n\u015f\f\u015f\u13f3\t\u015f\u0001"+
54357 "\u0160\u0003\u0160\u13f6\b\u0160\u0001\u0160\u0003\u0160\u13f9\b\u0160"+
54358 "\u0001\u0160\u0001\u0160\u0001\u0161\u0003\u0161\u13fe\b\u0161\u0001\u0161"+
54359 "\u0001\u0161\u0001\u0162\u0001\u0162\u0001\u0162\u0004\u0162\u1405\b\u0162"+
54360 "\u000b\u0162\f\u0162\u1406\u0001\u0162\u0001\u0162\u0001\u0163\u0001\u0163"+
54361 "\u0001\u0163\u0001\u0163\u0001\u0163\u0005\u0163\u1410\b\u0163\n\u0163"+
54362 "\f\u0163\u1413\t\u0163\u0003\u0163\u1415\b\u0163\u0001\u0164\u0003\u0164"+
54363 "\u1418\b\u0164\u0001\u0164\u0001\u0164\u0003\u0164\u141c\b\u0164\u0001"+
54364 "\u0164\u0001\u0164\u0003\u0164\u1420\b\u0164\u0001\u0164\u0001\u0164\u0003"+
54365 "\u0164\u1424\b\u0164\u0001\u0164\u0003\u0164\u1427\b\u0164\u0001\u0165"+
54366 "\u0001\u0165\u0001\u0165\u0001\u0165\u0001\u0166\u0001\u0166\u0001\u0166"+
54367 "\u0001\u0166\u0005\u0166\u1431\b\u0166\n\u0166\f\u0166\u1434\t\u0166\u0001"+
54368 "\u0166\u0003\u0166\u1437\b\u0166\u0001\u0167\u0001\u0167\u0001\u0167\u0001"+
54369 "\u0167\u0005\u0167\u143d\b\u0167\n\u0167\f\u0167\u1440\t\u0167\u0001\u0167"+
54370 "\u0001\u0167\u0001\u0167\u0001\u0167\u0003\u0167\u1446\b\u0167\u0001\u0168"+
54371 "\u0001\u0168\u0003\u0168\u144a\b\u0168\u0001\u0169\u0003\u0169\u144d\b"+
54372 "\u0169\u0001\u0169\u0001\u0169\u0003\u0169\u1451\b\u0169\u0001\u0169\u0001"+
54373 "\u0169\u0003\u0169\u1455\b\u0169\u0001\u0169\u0003\u0169\u1458\b\u0169"+
54374 "\u0001\u0169\u0003\u0169\u145b\b\u0169\u0001\u0169\u0003\u0169\u145e\b"+
54375 "\u0169\u0001\u016a\u0001\u016a\u0001\u016a\u0001\u016b\u0003\u016b\u1464"+
54376 "\b\u016b\u0001\u016b\u0003\u016b\u1467\b\u016b\u0001\u016b\u0001\u016b"+
54377 "\u0003\u016b\u146b\b\u016b\u0001\u016b\u0003\u016b\u146e\b\u016b\u0001"+
54378 "\u016b\u0003\u016b\u1471\b\u016b\u0001\u016c\u0001\u016c\u0001\u016c\u0001"+
54379 "\u016c\u0001\u016c\u0001\u016c\u0001\u016c\u0001\u016c\u0001\u016c\u0003"+
54380 "\u016c\u147c\b\u016c\u0001\u016d\u0001\u016d\u0003\u016d\u1480\b\u016d"+
54381 "\u0001\u016d\u0001\u016d\u0001\u016d\u0003\u016d\u1485\b\u016d\u0005\u016d"+
54382 "\u1487\b\u016d\n\u016d\f\u016d\u148a\t\u016d\u0001\u016e\u0001\u016e\u0001"+
54383 "\u016f\u0001\u016f\u0001\u016f\u0003\u016f\u1491\b\u016f\u0001\u016f\u0001"+
54384 "\u016f\u0003\u016f\u1495\b\u016f\u0001\u016f\u0005\u016f\u1498\b\u016f"+
54385 "\n\u016f\f\u016f\u149b\t\u016f\u0001\u0170\u0003\u0170\u149e\b\u0170\u0001"+
54386 "\u0170\u0001\u0170\u0003\u0170\u14a2\b\u0170\u0001\u0170\u0001\u0170\u0003"+
54387 "\u0170\u14a6\b\u0170\u0001\u0170\u0003\u0170\u14a9\b\u0170\u0001\u0170"+
54388 "\u0003\u0170\u14ac\b\u0170\u0001\u0170\u0003\u0170\u14af\b\u0170\u0001"+
54389 "\u0170\u0003\u0170\u14b2\b\u0170\u0001\u0170\u0003\u0170\u14b5\b\u0170"+
54390 "\u0001\u0170\u0003\u0170\u14b8\b\u0170\u0001\u0171\u0001\u0171\u0001\u0172"+
54391 "\u0001\u0172\u0001\u0172\u0003\u0172\u14bf\b\u0172\u0003\u0172\u14c1\b"+
54392 "\u0172\u0001\u0172\u0001\u0172\u0005\u0172\u14c5\b\u0172\n\u0172\f\u0172"+
54393 "\u14c8\t\u0172\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173"+
54394 "\u0003\u0173\u14cf\b\u0173\u0001\u0173\u0001\u0173\u0003\u0173\u14d3\b"+
54395 "\u0173\u0001\u0173\u0001\u0173\u0003\u0173\u14d7\b\u0173\u0001\u0173\u0003"+
54396 "\u0173\u14da\b\u0173\u0001\u0173\u0003\u0173\u14dd\b\u0173\u0003\u0173"+
54397 "\u14df\b\u0173\u0001\u0174\u0001\u0174\u0003\u0174\u14e3\b\u0174\u0001"+
54398 "\u0174\u0001\u0174\u0003\u0174\u14e7\b\u0174\u0001\u0174\u0003\u0174\u14ea"+
54399 "\b\u0174\u0001\u0174\u0001\u0174\u0003\u0174\u14ee\b\u0174\u0001\u0174"+
54400 "\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174"+
54401 "\u0001\u0174\u0003\u0174\u14f8\b\u0174\u0001\u0174\u0003\u0174\u14fb\b"+
54402 "\u0174\u0003\u0174\u14fd\b\u0174\u0001\u0175\u0001\u0175\u0003\u0175\u1501"+
54403 "\b\u0175\u0001\u0176\u0001\u0176\u0001\u0177\u0001\u0177\u0001\u0177\u0001"+
54404 "\u0178\u0001\u0178\u0001\u0178\u0001\u0179\u0001\u0179\u0001\u0179\u0001"+
54405 "\u017a\u0001\u017a\u0001\u017a\u0005\u017a\u1511\b\u017a\n\u017a\f\u017a"+
54406 "\u1514\t\u017a\u0001\u017b\u0001\u017b\u0005\u017b\u1518\b\u017b\n\u017b"+
54407 "\f\u017b\u151b\t\u017b\u0001\u017c\u0001\u017c\u0003\u017c\u151f\b\u017c"+
54408 "\u0001\u017c\u0003\u017c\u1522\b\u017c\u0001\u017c\u0001\u017c\u0003\u017c"+
54409 "\u1526\b\u017c\u0001\u017c\u0001\u017c\u0003\u017c\u152a\b\u017c\u0001"+
54410 "\u017c\u0001\u017c\u0003\u017c\u152e\b\u017c\u0001\u017c\u0003\u017c\u1531"+
54411 "\b\u017c\u0001\u017c\u0001\u017c\u0001\u017c\u0001\u017c\u0003\u017c\u1537"+
54412 "\b\u017c\u0001\u017d\u0003\u017d\u153a\b\u017d\u0001\u017d\u0003\u017d"+
54413 "\u153d\b\u017d\u0001\u017d\u0001\u017d\u0001\u017d\u0001\u017d\u0003\u017d"+
54414 "\u1543\b\u017d\u0001\u017d\u0003\u017d\u1546\b\u017d\u0001\u017d\u0001"+
54415 "\u017d\u0003\u017d\u154a\b\u017d\u0001\u017d\u0001\u017d\u0001\u017d\u0003"+
54416 "\u017d\u154f\b\u017d\u0001\u017d\u0001\u017d\u0001\u017d\u0001\u017d\u0003"+
54417 "\u017d\u1555\b\u017d\u0003\u017d\u1557\b\u017d\u0001\u017e\u0001\u017e"+
54418 "\u0001\u017e\u0001\u017e\u0003\u017e\u155d\b\u017e\u0001\u017f\u0001\u017f"+
54419 "\u0001\u017f\u0001\u0180\u0001\u0180\u0001\u0180\u0001\u0180\u0001\u0180"+
54420 "\u0005\u0180\u1567\b\u0180\n\u0180\f\u0180\u156a\t\u0180\u0001\u0181\u0001"+
54421 "\u0181\u0001\u0181\u0001\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0001"+
54422 "\u0183\u0001\u0183\u0001\u0183\u0001\u0184\u0001\u0184\u0001\u0184\u0005"+
54423 "\u0184\u1579\b\u0184\n\u0184\f\u0184\u157c\t\u0184\u0001\u0185\u0001\u0185"+
54424 "\u0003\u0185\u1580\b\u0185\u0001\u0185\u0001\u0185\u0001\u0185\u0001\u0186"+
54425 "\u0001\u0186\u0001\u0186\u0003\u0186\u1588\b\u0186\u0001\u0186\u0001\u0186"+
54426 "\u0001\u0186\u0003\u0186\u158d\b\u0186\u0003\u0186\u158f\b\u0186\u0001"+
54427 "\u0187\u0001\u0187\u0001\u0187\u0005\u0187\u1594\b\u0187\n\u0187\f\u0187"+
54428 "\u1597\t\u0187\u0001\u0188\u0001\u0188\u0001\u0188\u0001\u0188\u0003\u0188"+
54429 "\u159d\b\u0188\u0001\u0188\u0003\u0188\u15a0\b\u0188\u0001\u0189\u0001"+
54430 "\u0189\u0001\u0189\u0001\u018a\u0001\u018a\u0001\u018a\u0003\u018a\u15a8"+
54431 "\b\u018a\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001"+
54432 "\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001"+
54433 "\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001"+
54434 "\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001"+
54435 "\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001"+
54436 "\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001"+
54437 "\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0005\u018b\u15d2"+
54438 "\b\u018b\n\u018b\f\u018b\u15d5\t\u018b\u0001\u018b\u0001\u018b\u0001\u018b"+
54439 "\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b"+
54440 "\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b"+
54441 "\u0001\u018b\u0001\u018b\u0005\u018b\u15e8\b\u018b\n\u018b\f\u018b\u15eb"+
54442 "\t\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0001\u018b\u0003\u018b\u15f1"+
54443 "\b\u018b\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001"+
54444 "\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001"+
54445 "\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001"+
54446 "\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001"+
54447 "\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001"+
54448 "\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001"+
54449 "\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001"+
54450 "\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001"+
54451 "\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0001"+
54452 "\u018c\u0003\u018c\u1629\b\u018c\u0001\u018d\u0001\u018d\u0001\u018d\u0001"+
54453 "\u018d\u0003\u018d\u162f\b\u018d\u0001\u018e\u0001\u018e\u0001\u018e\u0001"+
54454 "\u018e\u0001\u018e\u0001\u018e\u0003\u018e\u1637\b\u018e\u0001\u018e\u0003"+
54455 "\u018e\u163a\b\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001"+
54456 "\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0003\u018e\u1644\b\u018e\u0003"+
54457 "\u018e\u1646\b\u018e\u0003\u018e\u1648\b\u018e\u0001\u018e\u0001\u018e"+
54458 "\u0001\u018e\u0003\u018e\u164d\b\u018e\u0003\u018e\u164f\b\u018e\u0003"+
54459 "\u018e\u1651\b\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e\u0003"+
54460 "\u018e\u1657\b\u018e\u0003\u018e\u1659\b\u018e\u0001\u018e\u0001\u018e"+
54461 "\u0001\u018e\u0001\u018e\u0001\u018e\u0003\u018e\u1660\b\u018e\u0001\u018e"+
54462 "\u0001\u018e\u0001\u018e\u0001\u018e\u0003\u018e\u1666\b\u018e\u0003\u018e"+
54463 "\u1668\b\u018e\u0003\u018e\u166a\b\u018e\u0003\u018e\u166c\b\u018e\u0001"+
54464 "\u018f\u0001\u018f\u0001\u018f\u0003\u018f\u1671\b\u018f\u0001\u018f\u0001"+
54465 "\u018f\u0003\u018f\u1675\b\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001"+
54466 "\u018f\u0001\u018f\u0001\u018f\u0003\u018f\u167d\b\u018f\u0003\u018f\u167f"+
54467 "\b\u018f\u0001\u0190\u0001\u0190\u0001\u0190\u0001\u0190\u0001\u0190\u0001"+
54468 "\u0190\u0001\u0190\u0001\u0190\u0003\u0190\u1689\b\u0190\u0003\u0190\u168b"+
54469 "\b\u0190\u0001\u0190\u0001\u0190\u0003\u0190\u168f\b\u0190\u0001\u0190"+
54470 "\u0001\u0190\u0003\u0190\u1693\b\u0190\u0003\u0190\u1695\b\u0190\u0001"+
54471 "\u0191\u0001\u0191\u0001\u0191\u0003\u0191\u169a\b\u0191\u0003\u0191\u169c"+
54472 "\b\u0191\u0001\u0191\u0003\u0191\u169f\b\u0191\u0001\u0192\u0001\u0192"+
54473 "\u0001\u0192\u0001\u0192\u0001\u0192\u0005\u0192\u16a6\b\u0192\n\u0192"+
54474 "\f\u0192\u16a9\t\u0192\u0001\u0192\u0001\u0192\u0001\u0193\u0001\u0193"+
54475 "\u0001\u0193\u0001\u0193\u0001\u0193\u0003\u0193\u16b2\b\u0193\u0001\u0194"+
54476 "\u0001\u0194\u0001\u0195\u0001\u0195\u0001\u0196\u0001\u0196\u0001\u0196"+
54477 "\u0001\u0197\u0001\u0197\u0001\u0197\u0003\u0197\u16be\b\u0197\u0001\u0198"+
54478 "\u0001\u0198\u0001\u0198\u0003\u0198\u16c3\b\u0198\u0001\u0198\u0001\u0198"+
54479 "\u0001\u0198\u0001\u0198\u0005\u0198\u16c9\b\u0198\n\u0198\f\u0198\u16cc"+
54480 "\t\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0003\u0198\u16d1\b\u0198"+
54481 "\u0001\u0198\u0001\u0198\u0003\u0198\u16d5\b\u0198\u0001\u0199\u0001\u0199"+
54482 "\u0001\u0199\u0003\u0199\u16da\b\u0199\u0001\u0199\u0001\u0199\u0001\u0199"+
54483 "\u0001\u0199\u0005\u0199\u16e0\b\u0199\n\u0199\f\u0199\u16e3\t\u0199\u0001"+
54484 "\u0199\u0001\u0199\u0001\u0199\u0003\u0199\u16e8\b\u0199\u0001\u019a\u0001"+
54485 "\u019a\u0003\u019a\u16ec\b\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0003"+
54486 "\u019a\u16f1\b\u019a\u0005\u019a\u16f3\b\u019a\n\u019a\f\u019a\u16f6\t"+
54487 "\u019a\u0001\u019b\u0001\u019b\u0001\u019b\u0001\u019b\u0003\u019b\u16fc"+
54488 "\b\u019b\u0001\u019b\u0001\u019b\u0001\u019c\u0001\u019c\u0001\u019c\u0005"+
54489 "\u019c\u1703\b\u019c\n\u019c\f\u019c\u1706\t\u019c\u0001\u019d\u0001\u019d"+
54490 "\u0001\u019d\u0001\u019d\u0003\u019d\u170c\b\u019d\u0001\u019d\u0001\u019d"+
54491 "\u0001\u019e\u0001\u019e\u0001\u019e\u0003\u019e\u1713\b\u019e\u0001\u019e"+
54492 "\u0001\u019e\u0001\u019f\u0001\u019f\u0001\u01a0\u0001\u01a0\u0003\u01a0"+
54493 "\u171b\b\u01a0\u0001\u01a0\u0001\u01a0\u0003\u01a0\u171f\b\u01a0\u0001"+
54494 "\u01a1\u0001\u01a1\u0001\u01a1\u0003\u01a1\u1724\b\u01a1\u0001\u01a1\u0001"+
54495 "\u01a1\u0001\u01a1\u0001\u01a1\u0005\u01a1\u172a\b\u01a1\n\u01a1\f\u01a1"+
54496 "\u172d\t\u01a1\u0001\u01a1\u0003\u01a1\u1730\b\u01a1\u0001\u01a1\u0001"+
54497 "\u01a1\u0003\u01a1\u1734\b\u01a1\u0001\u01a2\u0001\u01a2\u0001\u01a2\u0003"+
54498 "\u01a2\u1739\b\u01a2\u0001\u01a2\u0001\u01a2\u0001\u01a2\u0001\u01a2\u0005"+
54499 "\u01a2\u173f\b\u01a2\n\u01a2\f\u01a2\u1742\t\u01a2\u0001\u01a2\u0003\u01a2"+
54500 "\u1745\b\u01a2\u0001\u01a3\u0001\u01a3\u0001\u01a3\u0003\u01a3\u174a\b"+
54501 "\u01a3\u0001\u01a4\u0001\u01a4\u0001\u01a4\u0003\u01a4\u174f\b\u01a4\u0001"+
54502 "\u01a4\u0001\u01a4\u0001\u01a4\u0001\u01a4\u0005\u01a4\u1755\b\u01a4\n"+
54503 "\u01a4\f\u01a4\u1758\t\u01a4\u0001\u01a4\u0003\u01a4\u175b\b\u01a4\u0001"+
54504 "\u01a4\u0001\u01a4\u0003\u01a4\u175f\b\u01a4\u0001\u01a5\u0001\u01a5\u0001"+
54505 "\u01a5\u0003\u01a5\u1764\b\u01a5\u0001\u01a5\u0001\u01a5\u0001\u01a5\u0001"+
54506 "\u01a5\u0005\u01a5\u176a\b\u01a5\n\u01a5\f\u01a5\u176d\t\u01a5\u0001\u01a5"+
54507 "\u0003\u01a5\u1770\b\u01a5\u0001\u01a6\u0001\u01a6\u0001\u01a6\u0001\u01a6"+
54508 "\u0001\u01a7\u0001\u01a7\u0003\u01a7\u1778\b\u01a7\u0001\u01a7\u0001\u01a7"+
54509 "\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7"+
54510 "\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7"+
54511 "\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0001\u01a7\u0003\u01a7"+
54512 "\u178d\b\u01a7\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8"+
54513 "\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8"+
54514 "\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0003\u01a8"+
54515 "\u179f\b\u01a8\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9"+
54516 "\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0003\u01a9\u17aa\b\u01a9"+
54517 "\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9"+
54518 "\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9"+
54519 "\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9"+
54520 "\u0001\u01a9\u0003\u01a9\u17bf\b\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9"+
54521 "\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9"+
54522 "\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9"+
54523 "\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9"+
54524 "\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0003\u01a9\u17d9\b\u01a9\u0001\u01a9"+
54525 "\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9"+
54526 "\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9"+
54527 "\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9"+
54528 "\u0003\u01a9\u17ee\b\u01a9\u0001\u01aa\u0001\u01aa\u0003\u01aa\u17f2\b"+
54529 "\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0003\u01aa\u17f7\b\u01aa\u0001"+
54530 "\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001"+
54531 "\u01aa\u0003\u01aa\u1800\b\u01aa\u0003\u01aa\u1802\b\u01aa\u0001\u01ab"+
54532 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54533 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54534 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0003\u01ab\u1814\b\u01ab\u0001\u01ab"+
54535 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54536 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54537 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0003\u01ab"+
54538 "\u1828\b\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54539 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0003\u01ab\u1833\b\u01ab"+
54540 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54541 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54542 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0003\u01ab"+
54543 "\u1846\b\u01ab\u0001\u01ab\u0001\u01ab\u0003\u01ab\u184a\b\u01ab\u0001"+
54544 "\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0003"+
54545 "\u01ab\u1852\b\u01ab\u0001\u01ab\u0001\u01ab\u0003\u01ab\u1856\b\u01ab"+
54546 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54547 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0003\u01ab\u1861\b\u01ab\u0001\u01ab"+
54548 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54549 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54550 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54551 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54552 "\u0001\u01ab\u0003\u01ab\u187d\b\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54553 "\u0001\u01ab\u0003\u01ab\u1883\b\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54554 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54555 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54556 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54557 "\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54558 "\u0003\u01ab\u18a0\b\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab"+
54559 "\u0001\u01ab\u0003\u01ab\u18a7\b\u01ab\u0001\u01ab\u0001\u01ab\u0003\u01ab"+
54560 "\u18ab\b\u01ab\u0001\u01ac\u0001\u01ac\u0001\u01ac\u0003\u01ac\u18b0\b"+
54561 "\u01ac\u0001\u01ad\u0001\u01ad\u0001\u01ad\u0001\u01ad\u0001\u01ad\u0001"+
54562 "\u01ad\u0001\u01ad\u0001\u01ad\u0003\u01ad\u18ba\b\u01ad\u0001\u01ae\u0001"+
54563 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
54564 "\u01ae\u0001\u01ae\u0003\u01ae\u18c5\b\u01ae\u0001\u01af\u0001\u01af\u0001"+
54565 "\u01af\u0001\u01af\u0001\u01af\u0001\u01af\u0001\u01af\u0001\u01af\u0003"+
54566 "\u01af\u18cf\b\u01af\u0001\u01b0\u0001\u01b0\u0001\u01b0\u0001\u01b0\u0001"+
54567 "\u01b0\u0001\u01b0\u0001\u01b0\u0003\u01b0\u18d8\b\u01b0\u0001\u01b1\u0001"+
54568 "\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001"+
54569 "\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001"+
54570 "\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001"+
54571 "\u01b1\u0003\u01b1\u18ee\b\u01b1\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001"+
54572 "\u01b2\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001"+
54573 "\u01b2\u0001\u01b2\u0003\u01b2\u18fb\b\u01b2\u0001\u01b3\u0001\u01b3\u0001"+
54574 "\u01b3\u0001\u01b3\u0001\u01b3\u0003\u01b3\u1902\b\u01b3\u0001\u01b4\u0001"+
54575 "\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001"+
54576 "\u01b4\u0001\u01b4\u0001\u01b4\u0003\u01b4\u190e\b\u01b4\u0001\u01b5\u0001"+
54577 "\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001"+
54578 "\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0003\u01b5\u191b\b\u01b5\u0001"+
54579 "\u01b6\u0001\u01b6\u0001\u01b6\u0001\u01b6\u0001\u01b6\u0001\u01b6\u0001"+
54580 "\u01b6\u0001\u01b6\u0001\u01b6\u0001\u01b6\u0001\u01b6\u0003\u01b6\u1928"+
54581 "\b\u01b6\u0001\u01b7\u0001\u01b7\u0001\u01b7\u0001\u01b7\u0001\u01b7\u0001"+
54582 "\u01b7\u0001\u01b7\u0001\u01b7\u0001\u01b7\u0003\u01b7\u1933\b\u01b7\u0001"+
54583 "\u01b8\u0001\u01b8\u0001\u01b8\u0001\u01b8\u0001\u01b8\u0001\u01b8\u0001"+
54584 "\u01b8\u0001\u01b8\u0001\u01b8\u0001\u01b8\u0003\u01b8\u193f\b\u01b8\u0001"+
54585 "\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0003\u01b9\u1945\b\u01b9\u0001"+
54586 "\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0003\u01b9\u194b\b\u01b9\u0001"+
54587 "\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0003\u01b9\u1951\b\u01b9\u0001"+
54588 "\u01ba\u0001\u01ba\u0001\u01ba\u0001\u01ba\u0001\u01ba\u0001\u01ba\u0001"+
54589 "\u01ba\u0001\u01ba\u0001\u01ba\u0001\u01ba\u0003\u01ba\u195d\b\u01ba\u0001"+
54590 "\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001"+
54591 "\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0003\u01bb\u196a"+
54592 "\b\u01bb\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001"+
54593 "\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0001\u01bc\u0003"+
54594 "\u01bc\u1977\b\u01bc\u0001\u01bd\u0001\u01bd\u0001\u01bd\u0001\u01bd\u0001"+
54595 "\u01bd\u0001\u01bd\u0001\u01bd\u0001\u01bd\u0001\u01bd\u0001\u01bd\u0003"+
54596 "\u01bd\u1983\b\u01bd\u0001\u01be\u0001\u01be\u0001\u01be\u0001\u01be\u0003"+
54597 "\u01be\u1989\b\u01be\u0001\u01be\u0001\u01be\u0001\u01be\u0001\u01be\u0003"+
54598 "\u01be\u198f\b\u01be\u0001\u01be\u0001\u01be\u0001\u01be\u0001\u01be\u0001"+
54599 "\u01be\u0003\u01be\u1996\b\u01be\u0001\u01bf\u0001\u01bf\u0003\u01bf\u199a"+
54600 "\b\u01bf\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0001"+
54601 "\u01c0\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0003"+
54602 "\u01c0\u19a7\b\u01c0\u0001\u01c1\u0001\u01c1\u0001\u01c1\u0001\u01c1\u0001"+
54603 "\u01c1\u0001\u01c1\u0001\u01c1\u0001\u01c1\u0001\u01c1\u0001\u01c1\u0001"+
54604 "\u01c1\u0003\u01c1\u19b4\b\u01c1\u0001\u01c2\u0001\u01c2\u0001\u01c2\u0001"+
54605 "\u01c2\u0001\u01c2\u0001\u01c2\u0001\u01c2\u0003\u01c2\u19bd\b\u01c2\u0001"+
54606 "\u01c3\u0001\u01c3\u0001\u01c3\u0001\u01c3\u0001\u01c3\u0001\u01c3\u0001"+
54607 "\u01c3\u0001\u01c3\u0003\u01c3\u19c7\b\u01c3\u0001\u01c4\u0001\u01c4\u0001"+
54608 "\u01c5\u0001\u01c5\u0001\u01c5\u0001\u01c5\u0001\u01c6\u0001\u01c6\u0001"+
54609 "\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001"+
54610 "\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001"+
54611 "\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001"+
54612 "\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001"+
54613 "\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001"+
54614 "\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001"+
54615 "\u01c6\u0001\u01c6\u0003\u01c6\u19f7\b\u01c6\u0001\u01c7\u0001\u01c7\u0001"+
54616 "\u01c8\u0001\u01c8\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0003"+
54617 "\u01c9\u1a01\b\u01c9\u0003\u01c9\u1a03\b\u01c9\u0001\u01ca\u0001\u01ca"+
54618 "\u0001\u01ca\u0001\u01ca\u0001\u01ca\u0001\u01ca\u0001\u01ca\u0001\u01ca"+
54619 "\u0001\u01ca\u0001\u01ca\u0003\u01ca\u1a0f\b\u01ca\u0001\u01cb\u0001\u01cb"+
54620 "\u0001\u01cb\u0001\u01cb\u0003\u01cb\u1a15\b\u01cb\u0001\u01cb\u0001\u01cb"+
54621 "\u0001\u01cb\u0001\u01cb\u0005\u01cb\u1a1b\b\u01cb\n\u01cb\f\u01cb\u1a1e"+
54622 "\t\u01cb\u0003\u01cb\u1a20\b\u01cb\u0001\u01cc\u0001\u01cc\u0001\u01cc"+
54623 "\u0001\u01cc\u0001\u01cc\u0005\u01cc\u1a27\b\u01cc\n\u01cc\f\u01cc\u1a2a"+
54624 "\t\u01cc\u0003\u01cc\u1a2c\b\u01cc\u0001\u01cc\u0001\u01cc\u0001\u01cc"+
54625 "\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0001\u01cc"+
54626 "\u0005\u01cc\u1a37\b\u01cc\n\u01cc\f\u01cc\u1a3a\t\u01cc\u0003\u01cc\u1a3c"+
54627 "\b\u01cc\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0003"+
54628 "\u01cc\u1a43\b\u01cc\u0001\u01cd\u0001\u01cd\u0001\u01cd\u0001\u01cd\u0003"+
54629 "\u01cd\u1a49\b\u01cd\u0001\u01cd\u0001\u01cd\u0001\u01cd\u0001\u01cd\u0001"+
54630 "\u01cd\u0003\u01cd\u1a50\b\u01cd\u0001\u01cd\u0001\u01cd\u0001\u01cd\u0001"+
54631 "\u01cd\u0005\u01cd\u1a56\b\u01cd\n\u01cd\f\u01cd\u1a59\t\u01cd\u0003\u01cd"+
54632 "\u1a5b\b\u01cd\u0001\u01ce\u0001\u01ce\u0001\u01ce\u0001\u01ce\u0001\u01ce"+
54633 "\u0001\u01ce\u0001\u01ce\u0005\u01ce\u1a64\b\u01ce\n\u01ce\f\u01ce\u1a67"+
54634 "\t\u01ce\u0003\u01ce\u1a69\b\u01ce\u0001\u01ce\u0001\u01ce\u0001\u01ce"+
54635 "\u0001\u01ce\u0001\u01ce\u0001\u01ce\u0001\u01ce\u0003\u01ce\u1a72\b\u01ce"+
54636 "\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0001\u01cf"+
54637 "\u0001\u01cf\u0003\u01cf\u1a7b\b\u01cf\u0001\u01cf\u0001\u01cf\u0001\u01cf"+
54638 "\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0003\u01cf\u1a83\b\u01cf\u0003\u01cf"+
54639 "\u1a85\b\u01cf\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001\u01d0"+
54640 "\u0001\u01d0\u0001\u01d0\u0003\u01d0\u1a8e\b\u01d0\u0001\u01d0\u0001\u01d0"+
54641 "\u0001\u01d0\u0003\u01d0\u1a93\b\u01d0\u0003\u01d0\u1a95\b\u01d0\u0001"+
54642 "\u01d1\u0001\u01d1\u0001\u01d1\u0001\u01d1\u0003\u01d1\u1a9b\b\u01d1\u0001"+
54643 "\u01d1\u0001\u01d1\u0001\u01d1\u0001\u01d1\u0001\u01d1\u0001\u01d1\u0001"+
54644 "\u01d1\u0005\u01d1\u1aa4\b\u01d1\n\u01d1\f\u01d1\u1aa7\t\u01d1\u0003\u01d1"+
54645 "\u1aa9\b\u01d1\u0003\u01d1\u1aab\b\u01d1\u0001\u01d2\u0001\u01d2\u0001"+
54646 "\u01d2\u0001\u01d2\u0001\u01d2\u0001\u01d2\u0003\u01d2\u1ab3\b\u01d2\u0001"+
54647 "\u01d2\u0001\u01d2\u0001\u01d2\u0001\u01d2\u0003\u01d2\u1ab9\b\u01d2\u0001"+
54648 "\u01d3\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0001"+
54649 "\u01d3\u0001\u01d3\u0003\u01d3\u1ac3\b\u01d3\u0001\u01d4\u0001\u01d4\u0001"+
54650 "\u01d5\u0001\u01d5\u0001\u01d6\u0001\u01d6\u0001\u01d7\u0001\u01d7\u0001"+
54651 "\u01d7\u0003\u01d7\u1ace\b\u01d7\u0001\u01d8\u0001\u01d8\u0001\u01d8\u0003"+
54652 "\u01d8\u1ad3\b\u01d8\u0001\u01d8\u0001\u01d8\u0001\u01d9\u0001\u01d9\u0001"+
54653 "\u01d9\u0001\u01d9\u0001\u01d9\u0001\u01d9\u0001\u01d9\u0005\u01d9\u1ade"+
54654 "\b\u01d9\n\u01d9\f\u01d9\u1ae1\t\u01d9\u0001\u01d9\u0001\u01d9\u0001\u01d9"+
54655 "\u0003\u01d9\u1ae6\b\u01d9\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da"+
54656 "\u0001\u01da\u0001\u01da\u0001\u01da\u0003\u01da\u1aef\b\u01da\u0001\u01da"+
54657 "\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da"+
54658 "\u0001\u01da\u0001\u01da\u0003\u01da\u1afa\b\u01da\u0001\u01da\u0001\u01da"+
54659 "\u0001\u01da\u0001\u01da\u0003\u01da\u1b00\b\u01da\u0001\u01da\u0001\u01da"+
54660 "\u0001\u01da\u0003\u01da\u1b05\b\u01da\u0003\u01da\u1b07\b\u01da\u0001"+
54661 "\u01db\u0001\u01db\u0001\u01db\u0001\u01db\u0001\u01db\u0003\u01db\u1b0e"+
54662 "\b\u01db\u0001\u01dc\u0001\u01dc\u0001\u01dc\u0003\u01dc\u1b13\b\u01dc"+
54663 "\u0001\u01dc\u0001\u01dc\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0001\u01dd"+
54664 "\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0001\u01dd"+
54665 "\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0003\u01dd\u1b24\b\u01dd\u0001\u01de"+
54666 "\u0001\u01de\u0001\u01de\u0001\u01de\u0001\u01de\u0001\u01de\u0001\u01de"+
54667 "\u0001\u01de\u0003\u01de\u1b2e\b\u01de\u0001\u01df\u0001\u01df\u0001\u01df"+
54668 "\u0001\u01df\u0003\u01df\u1b34\b\u01df\u0001\u01e0\u0001\u01e0\u0001\u01e0"+
54669 "\u0001\u01e0\u0001\u01e0\u0001\u01e0\u0003\u01e0\u1b3c\b\u01e0\u0001\u01e0"+
54670 "\u0003\u01e0\u1b3f\b\u01e0\u0001\u01e0\u0001\u01e0\u0001\u01e0\u0001\u01e0"+
54671 "\u0005\u01e0\u1b45\b\u01e0\n\u01e0\f\u01e0\u1b48\t\u01e0\u0003\u01e0\u1b4a"+
54672 "\b\u01e0\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001"+
54673 "\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001"+
54674 "\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001\u01e1\u0001"+
54675 "\u01e1\u0003\u01e1\u1b5e\b\u01e1\u0001\u01e2\u0001\u01e2\u0001\u01e3\u0001"+
54676 "\u01e3\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0005"+
54677 "\u01e4\u1b69\b\u01e4\n\u01e4\f\u01e4\u1b6c\t\u01e4\u0003\u01e4\u1b6e\b"+
54678 "\u01e4\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0001\u01e4\u0003"+
54679 "\u01e4\u1b75\b\u01e4\u0001\u01e5\u0001\u01e5\u0001\u01e5\u0001\u01e5\u0001"+
54680 "\u01e5\u0001\u01e5\u0003\u01e5\u1b7d\b\u01e5\u0001\u01e6\u0001\u01e6\u0001"+
54681 "\u01e6\u0001\u01e6\u0001\u01e6\u0001\u01e6\u0001\u01e6\u0005\u01e6\u1b86"+
54682 "\b\u01e6\n\u01e6\f\u01e6\u1b89\t\u01e6\u0003\u01e6\u1b8b\b\u01e6\u0001"+
54683 "\u01e7\u0001\u01e7\u0001\u01e7\u0001\u01e7\u0001\u01e7\u0001\u01e7\u0001"+
54684 "\u01e7\u0003\u01e7\u1b94\b\u01e7\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0003"+
54685 "\u01e8\u1b99\b\u01e8\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0001\u01e8\u0005"+
54686 "\u01e8\u1b9f\b\u01e8\n\u01e8\f\u01e8\u1ba2\t\u01e8\u0001\u01e9\u0001\u01e9"+
54687 "\u0001\u01e9\u0001\u01e9\u0001\u01e9\u0001\u01e9\u0001\u01e9\u0001\u01e9"+
54688 "\u0001\u01e9\u0001\u01e9\u0001\u01e9\u0001\u01e9\u0003\u01e9\u1bb0\b\u01e9"+
54689 "\u0001\u01ea\u0001\u01ea\u0001\u01ea\u0001\u01eb\u0001\u01eb\u0001\u01eb"+
54690 "\u0001\u01eb\u0001\u01eb\u0001\u01eb\u0001\u01eb\u0003\u01eb\u1bbc\b\u01eb"+
54691 "\u0001\u01ec\u0001\u01ec\u0001\u01ec\u0001\u01ec\u0003\u01ec\u1bc2\b\u01ec"+
54692 "\u0001\u01ed\u0001\u01ed\u0001\u01ed\u0001\u01ed\u0003\u01ed\u1bc8\b\u01ed"+
54693 "\u0001\u01ed\u0001\u01ed\u0001\u01ed\u0001\u01ed\u0005\u01ed\u1bce\b\u01ed"+
54694 "\n\u01ed\f\u01ed\u1bd1\t\u01ed\u0003\u01ed\u1bd3\b\u01ed\u0001\u01ee\u0001"+
54695 "\u01ee\u0001\u01ee\u0001\u01ee\u0001\u01ee\u0001\u01ee\u0003\u01ee\u1bdb"+
54696 "\b\u01ee\u0001\u01ef\u0001\u01ef\u0001\u01ef\u0001\u01ef\u0001\u01f0\u0001"+
54697 "\u01f0\u0001\u01f0\u0001\u01f0\u0001\u01f0\u0001\u01f0\u0001\u01f0\u0001"+
54698 "\u01f0\u0005\u01f0\u1be9\b\u01f0\n\u01f0\f\u01f0\u1bec\t\u01f0\u0001\u01f0"+
54699 "\u0003\u01f0\u1bef\b\u01f0\u0001\u01f1\u0001\u01f1\u0001\u01f2\u0001\u01f2"+
54700 "\u0001\u01f2\u0001\u01f2\u0001\u01f2\u0001\u01f2\u0003\u01f2\u1bf9\b\u01f2"+
54701 "\u0001\u01f2\u0001\u01f2\u0001\u01f2\u0001\u01f2\u0001\u01f2\u0003\u01f2"+
54702 "\u1c00\b\u01f2\u0003\u01f2\u1c02\b\u01f2\u0001\u01f2\u0001\u01f2\u0001"+
54703 "\u01f2\u0001\u01f2\u0001\u01f2\u0001\u01f2\u0001\u01f2\u0001\u01f2\u0001"+
54704 "\u01f2\u0001\u01f2\u0001\u01f2\u0001\u01f2\u0001\u01f2\u0001\u01f2\u0001"+
54705 "\u01f2\u0001\u01f2\u0001\u01f2\u0001\u01f2\u0001\u01f2\u0001\u01f2\u0003"+
54706 "\u01f2\u1c18\b\u01f2\u0001\u01f3\u0001\u01f3\u0001\u01f4\u0001\u01f4\u0001"+
54707 "\u01f4\u0001\u01f4\u0001\u01f4\u0001\u01f4\u0003\u01f4\u1c22\b\u01f4\u0001"+
54708 "\u01f5\u0001\u01f5\u0001\u01f5\u0001\u01f5\u0001\u01f5\u0003\u01f5\u1c29"+
54709 "\b\u01f5\u0001\u01f5\u0000\u0004blrt\u01f6\u0000\u0002\u0004\u0006\b\n"+
54710 "\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,.0246"+
54711 "8:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a"+
54712 "\u008c\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c\u009e\u00a0\u00a2"+
54713 "\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba"+
54714 "\u00bc\u00be\u00c0\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc\u00ce\u00d0\u00d2"+
54715 "\u00d4\u00d6\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4\u00e6\u00e8\u00ea"+
54716 "\u00ec\u00ee\u00f0\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc\u00fe\u0100\u0102"+
54717 "\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a"+
54718 "\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132"+
54719 "\u0134\u0136\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148\u014a"+
54720 "\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162"+
54721 "\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178\u017a"+
54722 "\u017c\u017e\u0180\u0182\u0184\u0186\u0188\u018a\u018c\u018e\u0190\u0192"+
54723 "\u0194\u0196\u0198\u019a\u019c\u019e\u01a0\u01a2\u01a4\u01a6\u01a8\u01aa"+
54724 "\u01ac\u01ae\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0\u01c2"+
54725 "\u01c4\u01c6\u01c8\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da"+
54726 "\u01dc\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f0\u01f2"+
54727 "\u01f4\u01f6\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a"+
54728 "\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222"+
54729 "\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u0234\u0236\u0238\u023a"+
54730 "\u023c\u023e\u0240\u0242\u0244\u0246\u0248\u024a\u024c\u024e\u0250\u0252"+
54731 "\u0254\u0256\u0258\u025a\u025c\u025e\u0260\u0262\u0264\u0266\u0268\u026a"+
54732 "\u026c\u026e\u0270\u0272\u0274\u0276\u0278\u027a\u027c\u027e\u0280\u0282"+
54733 "\u0284\u0286\u0288\u028a\u028c\u028e\u0290\u0292\u0294\u0296\u0298\u029a"+
54734 "\u029c\u029e\u02a0\u02a2\u02a4\u02a6\u02a8\u02aa\u02ac\u02ae\u02b0\u02b2"+
54735 "\u02b4\u02b6\u02b8\u02ba\u02bc\u02be\u02c0\u02c2\u02c4\u02c6\u02c8\u02ca"+
54736 "\u02cc\u02ce\u02d0\u02d2\u02d4\u02d6\u02d8\u02da\u02dc\u02de\u02e0\u02e2"+
54737 "\u02e4\u02e6\u02e8\u02ea\u02ec\u02ee\u02f0\u02f2\u02f4\u02f6\u02f8\u02fa"+
54738 "\u02fc\u02fe\u0300\u0302\u0304\u0306\u0308\u030a\u030c\u030e\u0310\u0312"+
54739 "\u0314\u0316\u0318\u031a\u031c\u031e\u0320\u0322\u0324\u0326\u0328\u032a"+
54740 "\u032c\u032e\u0330\u0332\u0334\u0336\u0338\u033a\u033c\u033e\u0340\u0342"+
54741 "\u0344\u0346\u0348\u034a\u034c\u034e\u0350\u0352\u0354\u0356\u0358\u035a"+
54742 "\u035c\u035e\u0360\u0362\u0364\u0366\u0368\u036a\u036c\u036e\u0370\u0372"+
54743 "\u0374\u0376\u0378\u037a\u037c\u037e\u0380\u0382\u0384\u0386\u0388\u038a"+
54744 "\u038c\u038e\u0390\u0392\u0394\u0396\u0398\u039a\u039c\u039e\u03a0\u03a2"+
54745 "\u03a4\u03a6\u03a8\u03aa\u03ac\u03ae\u03b0\u03b2\u03b4\u03b6\u03b8\u03ba"+
54746 "\u03bc\u03be\u03c0\u03c2\u03c4\u03c6\u03c8\u03ca\u03cc\u03ce\u03d0\u03d2"+
54747 "\u03d4\u03d6\u03d8\u03da\u03dc\u03de\u03e0\u03e2\u03e4\u03e6\u03e8\u03ea"+
54748 "\u0000g\u0001\u0000ab\u0002\u0000\u0107\u0107\u0142\u0142\u0002\u0000"+
54749 "\u02d3\u02d3\u02da\u02da\u0001\u0000\u000f\u0010\u0001\u0000\u0087\u0089"+
54750 "\u0001\u0000mn2\u000056==EGRTbbvv{|\u0080\u0081\u0085\u0085\u0087\u0087"+
54751 "\u0089\u0090\u0093\u0099\u009c\u009d\u009f\u009f\u00a1\u00a2\u00a4\u00a6"+
54752 "\u00a9\u00aa\u00ad\u00ad\u00b0\u00b0\u00b8\u00b8\u00c2\u00c2\u00cb\u00cc"+
54753 "\u00d0\u00d1\u00d5\u00d5\u00f1\u00f1\u00f3\u00f9\u00fb\u00fc\u0105\u0106"+
54754 "\u0109\u010d\u010f\u0110\u0112\u011c\u011e\u0123\u0125\u012d\u012f\u0143"+
54755 "\u014b\u01bd\u01bf\u01bf\u01c5\u01c5\u01d1\u01d3\u01f8\u0207\u020a\u020a"+
54756 "\u020c\u0212\u0216\u0216\u021b\u021c\u021e\u0220\u0222\u0224\u0226\u022f"+
54757 "\u023a\u029b\u02a4\u02a4\u02a9\u02a9\u02ad\u02ad\u0002\u0000\u02d1\u02d1"+
54758 "\u02d3\u02d3\u0002\u0000\u0004\u0004hh\u0002\u0000\u0005\u0005ii\u0002"+
54759 "\u0000\u0006\u0006kk\u0002\u0000ln\u00fa\u00fa\u0001\u0000rs\u0001\u0000"+
54760 "\u0018\u001d\u0004\u0000\u0006\u0007\u000f\u0010,,\u00f1\u00f1\u0001\u0000"+
54761 "\u0095\u0099\u0001\u0000\u00ed\u00ee\u0001\u0000xy\u0002\u0000RR\u02cf"+
54762 "\u02cf\u0002\u0000\u0111\u0111\u02d0\u02d0\u0001\u0000\u00f8\u00f9\u0002"+
54763 "\u0000\u00a9\u00a9\u01bf\u01bf\u0002\u0000\u0110\u0110\u011a\u011a\b\u0000"+
54764 "\u0083\u0083\u0087\u0088\u00ad\u00af\u00b1\u00b9\u00f1\u00f1\u0164\u0164"+
54765 "\u01c1\u01d0\u02d1\u02d1\u0001\u0000\u00eb\u00ec\u0001\u0000\u02db\u02dc"+
54766 "\u0002\u0000\u00f9\u00f9\u0138\u0138\u0002\u0000\u019c\u019c\u01ad\u01ad"+
54767 "\u0005\u0000\u00f8\u00f8\u010f\u010f\u012e\u012e\u0132\u0132\u0199\u0199"+
54768 "\t\u0000\u0130\u0130\u013c\u013c\u0195\u0196\u019c\u019c\u01a5\u01a6\u01aa"+
54769 "\u01ab\u01b0\u01b0\u01bc\u01bc\u01f2\u01f2\u0003\u0000\u010b\u010b\u012e"+
54770 "\u012e\u013f\u013f\u0001\u0000\u0145\u0146\u0002\u0000\u00b0\u00b0\u012f"+
54771 "\u012f\u0003\u0000\u00d8\u00e8\u021b\u021b\u021e\u021e\u0001\u0000HI\u0002"+
54772 "\u0000\u00ba\u00ba\u00f9\u00f9\u0002\u0000\u0106\u0106\u011d\u011d\u0002"+
54773 "\u0000\u0118\u0118\u0137\u0137\u0001\u0000\u010c\u010d\u0001\u000001\u0002"+
54774 "\u0000ll\u009a\u009a\u0003\u0000\u00f8\u00f8\u012e\u012e\u0132\u0132\u0002"+
54775 "\u0000\u0125\u0126\u0133\u0133\u0001\u0000\u01a8\u01a9\u0001\u0000[\\"+
54776 "\u0002\u0000\u00fe\u00fe\u012d\u012d\u0001\u0000\u009c\u009d\u0003\u0000"+
54777 "\u008c\u008c\u008e\u0090\u0112\u0115\u0003\u0000;;\u009d\u009d\u010a\u010a"+
54778 "\u0002\u0000\u012e\u012e\u01f7\u01f7\u0003\u0000XXbb\u00cb\u00cb\u0001"+
54779 "\u0000\u01fd\u0200\u0002\u0000\r\r\u01fd\u0200\u0001\u0000\u0207\u0208"+
54780 "\u0001\u0000\u0209\u020c\u0002\u0000\u00cb\u00cb\u020d\u020e\u0003\u0000"+
54781 "\u00d3\u00d3\u01d1\u01d1\u0215\u0215\u0003\u0000\u0175\u0175\u0210\u0210"+
54782 "\u0220\u0220\u0002\u0000\u0106\u0106\u0229\u0229\u0002\u0000rr\u0100\u0100"+
54783 "\u0001\u0000\u0289\u028a\u0001\u0000\u01fe\u01ff\u0003\u0000ab\u022d\u022d"+
54784 "\u0283\u0283\u0002\u0000\u0130\u0130\u0281\u0282\u0002\u0000\u00cb\u00cb"+
54785 "\u0238\u0238\u0001\u0000\u027e\u0280\u0002\u0000\u00c9\u00c9\u027b\u027c"+
54786 "\u0001\u0000\u00c8\u00c9\u0001\u0000\u0235\u0236\u0002\u0000\u00d3\u00d3"+
54787 "\u0237\u0237\u0002\u0000\u0115\u0116\u026b\u026b\u0002\u0000\u00a6\u00a6"+
54788 "\u0269\u0269\u0002\u0000bb\u010a\u010a\u0004\u0000rr\u010a\u010a\u012e"+
54789 "\u012e\u0264\u0264\u0002\u0000\u0115\u0115\u026b\u026b\u0003\u0000XX\u00c8"+
54790 "\u00c8\u0255\u0255\u0002\u0000\u012e\u012e\u0253\u0254\u0002\u0000\u0116"+
54791 "\u0116\u023f\u023f\u0002\u0000\u0014\u0014\u0018\u0018\u0002\u0000OOr"+
54792 "r\u0002\u0000YY]]\u0002\u0000XX[\\\u0002\u0000ZZ]]\u0001\u0000\u01d2\u01d3"+
54793 "\u0002\u0000uu\u0122\u0122\u0003\u0000\u00bf\u00bf\u0122\u0122\u014c\u014c"+
54794 "\u0002\u0000\u00bf\u00c0\u0122\u0122\u0002\u0000\u009d\u009d\u00c4\u00c4"+
54795 "\u0001\u0000\u02bc\u02bd\u0002\u0000\u010a\u010a\u02bf\u02bf\u0002\u0000"+
54796 "UUgg\u0002\u0000\u00cc\u00cc\u014f\u014f\u0002\u0000\u0147\u0147\u0160"+
54797 "\u0160\u0002\u0000\u00cc\u00cc\u018d\u018d\u0001\u0000\u0152\u0153\u0001"+
54798 "\u0000\u0175\u0176\u0002\u0000\u00cc\u00cc\u0154\u0154\u0002\u0000..\u0145"+
54799 "\u0145\u0002\u0000\u014a\u014a\u02a8\u02a8\u0005\u000066\u00cc\u00cc\u0104"+
54800 "\u0105\u0129\u0129\u012f\u012f\u0002\u0000UUff\u0002\u0000\u02d8\u02d8"+
54801 "\u02da\u02da\u0002\u0000\u02af\u02af\u02b4\u02b4\u2014\u0000\u0427\u0001"+
54802 "\u0000\u0000\u0000\u0002\u042c\u0001\u0000\u0000\u0000\u0004\u043a\u0001"+
54803 "\u0000\u0000\u0000\u0006\u043c\u0001\u0000\u0000\u0000\b\u0440\u0001\u0000"+
54804 "\u0000\u0000\n\u0442\u0001\u0000\u0000\u0000\f\u0452\u0001\u0000\u0000"+
54805 "\u0000\u000e\u0459\u0001\u0000\u0000\u0000\u0010\u0469\u0001\u0000\u0000"+
54806 "\u0000\u0012\u046d\u0001\u0000\u0000\u0000\u0014\u0475\u0001\u0000\u0000"+
54807 "\u0000\u0016\u0479\u0001\u0000\u0000\u0000\u0018\u047f\u0001\u0000\u0000"+
54808 "\u0000\u001a\u0488\u0001\u0000\u0000\u0000\u001c\u048a\u0001\u0000\u0000"+
54809 "\u0000\u001e\u048d\u0001\u0000\u0000\u0000 \u0498\u0001\u0000\u0000\u0000"+
54810 "\"\u049a\u0001\u0000\u0000\u0000$\u049c\u0001\u0000\u0000\u0000&\u049e"+
54811 "\u0001\u0000\u0000\u0000(\u04a0\u0001\u0000\u0000\u0000*\u04a4\u0001\u0000"+
54812 "\u0000\u0000,\u04a8\u0001\u0000\u0000\u0000.\u04aa\u0001\u0000\u0000\u0000"+
54813 "0\u04ac\u0001\u0000\u0000\u00002\u04ae\u0001\u0000\u0000\u00004\u04b0"+
54814 "\u0001\u0000\u0000\u00006\u04b5\u0001\u0000\u0000\u00008\u04bc\u0001\u0000"+
54815 "\u0000\u0000:\u04c6\u0001\u0000\u0000\u0000<\u04cd\u0001\u0000\u0000\u0000"+
54816 ">\u04d4\u0001\u0000\u0000\u0000@\u04db\u0001\u0000\u0000\u0000B\u04e8"+
54817 "\u0001\u0000\u0000\u0000D\u04ec\u0001\u0000\u0000\u0000F\u04ee\u0001\u0000"+
54818 "\u0000\u0000H\u04f8\u0001\u0000\u0000\u0000J\u04fe\u0001\u0000\u0000\u0000"+
54819 "L\u0503\u0001\u0000\u0000\u0000N\u0505\u0001\u0000\u0000\u0000P\u0507"+
54820 "\u0001\u0000\u0000\u0000R\u0512\u0001\u0000\u0000\u0000T\u051e\u0001\u0000"+
54821 "\u0000\u0000V\u052b\u0001\u0000\u0000\u0000X\u052d\u0001\u0000\u0000\u0000"+
54822 "Z\u052f\u0001\u0000\u0000\u0000\\\u0534\u0001\u0000\u0000\u0000^\u0536"+
54823 "\u0001\u0000\u0000\u0000`\u0541\u0001\u0000\u0000\u0000b\u054e\u0001\u0000"+
54824 "\u0000\u0000d\u0561\u0001\u0000\u0000\u0000f\u0563\u0001\u0000\u0000\u0000"+
54825 "h\u0565\u0001\u0000\u0000\u0000j\u056c\u0001\u0000\u0000\u0000l\u056e"+
54826 "\u0001\u0000\u0000\u0000n\u0588\u0001\u0000\u0000\u0000p\u05b5\u0001\u0000"+
54827 "\u0000\u0000r\u05b7\u0001\u0000\u0000\u0000t\u05fe\u0001\u0000\u0000\u0000"+
54828 "v\u060b\u0001\u0000\u0000\u0000x\u060d\u0001\u0000\u0000\u0000z\u061f"+
54829 "\u0001\u0000\u0000\u0000|\u0621\u0001\u0000\u0000\u0000~\u062a\u0001\u0000"+
54830 "\u0000\u0000\u0080\u062c\u0001\u0000\u0000\u0000\u0082\u063d\u0001\u0000"+
54831 "\u0000\u0000\u0084\u063f\u0001\u0000\u0000\u0000\u0086\u0646\u0001\u0000"+
54832 "\u0000\u0000\u0088\u0653\u0001\u0000\u0000\u0000\u008a\u0655\u0001\u0000"+
54833 "\u0000\u0000\u008c\u0666\u0001\u0000\u0000\u0000\u008e\u0675\u0001\u0000"+
54834 "\u0000\u0000\u0090\u067f\u0001\u0000\u0000\u0000\u0092\u0681\u0001\u0000"+
54835 "\u0000\u0000\u0094\u0691\u0001\u0000\u0000\u0000\u0096\u069c\u0001\u0000"+
54836 "\u0000\u0000\u0098\u06a8\u0001\u0000\u0000\u0000\u009a\u06d2\u0001\u0000"+
54837 "\u0000\u0000\u009c\u06d4\u0001\u0000\u0000\u0000\u009e\u06ed\u0001\u0000"+
54838 "\u0000\u0000\u00a0\u06ef\u0001\u0000\u0000\u0000\u00a2\u06fd\u0001\u0000"+
54839 "\u0000\u0000\u00a4\u0702\u0001\u0000\u0000\u0000\u00a6\u0709\u0001\u0000"+
54840 "\u0000\u0000\u00a8\u070b\u0001\u0000\u0000\u0000\u00aa\u0725\u0001\u0000"+
54841 "\u0000\u0000\u00ac\u0731\u0001\u0000\u0000\u0000\u00ae\u0741\u0001\u0000"+
54842 "\u0000\u0000\u00b0\u0743\u0001\u0000\u0000\u0000\u00b2\u074b\u0001\u0000"+
54843 "\u0000\u0000\u00b4\u0757\u0001\u0000\u0000\u0000\u00b6\u0764\u0001\u0000"+
54844 "\u0000\u0000\u00b8\u076d\u0001\u0000\u0000\u0000\u00ba\u0770\u0001\u0000"+
54845 "\u0000\u0000\u00bc\u077d\u0001\u0000\u0000\u0000\u00be\u0787\u0001\u0000"+
54846 "\u0000\u0000\u00c0\u078c\u0001\u0000\u0000\u0000\u00c2\u078e\u0001\u0000"+
54847 "\u0000\u0000\u00c4\u0795\u0001\u0000\u0000\u0000\u00c6\u079d\u0001\u0000"+
54848 "\u0000\u0000\u00c8\u07a5\u0001\u0000\u0000\u0000\u00ca\u07a7\u0001\u0000"+
54849 "\u0000\u0000\u00cc\u07b8\u0001\u0000\u0000\u0000\u00ce\u07ba\u0001\u0000"+
54850 "\u0000\u0000\u00d0\u07be\u0001\u0000\u0000\u0000\u00d2\u07c3\u0001\u0000"+
54851 "\u0000\u0000\u00d4\u07c6\u0001\u0000\u0000\u0000\u00d6\u07c8\u0001\u0000"+
54852 "\u0000\u0000\u00d8\u07cb\u0001\u0000\u0000\u0000\u00da\u07d1\u0001\u0000"+
54853 "\u0000\u0000\u00dc\u07db\u0001\u0000\u0000\u0000\u00de\u07dd\u0001\u0000"+
54854 "\u0000\u0000\u00e0\u07e1\u0001\u0000\u0000\u0000\u00e2\u07ef\u0001\u0000"+
54855 "\u0000\u0000\u00e4\u07f6\u0001\u0000\u0000\u0000\u00e6\u07f8\u0001\u0000"+
54856 "\u0000\u0000\u00e8\u0800\u0001\u0000\u0000\u0000\u00ea\u0802\u0001\u0000"+
54857 "\u0000\u0000\u00ec\u0804\u0001\u0000\u0000\u0000\u00ee\u080c\u0001\u0000"+
54858 "\u0000\u0000\u00f0\u080e\u0001\u0000\u0000\u0000\u00f2\u0810\u0001\u0000"+
54859 "\u0000\u0000\u00f4\u0812\u0001\u0000\u0000\u0000\u00f6\u0814\u0001\u0000"+
54860 "\u0000\u0000\u00f8\u0816\u0001\u0000\u0000\u0000\u00fa\u0819\u0001\u0000"+
54861 "\u0000\u0000\u00fc\u081b\u0001\u0000\u0000\u0000\u00fe\u081d\u0001\u0000"+
54862 "\u0000\u0000\u0100\u0828\u0001\u0000\u0000\u0000\u0102\u082c\u0001\u0000"+
54863 "\u0000\u0000\u0104\u082e\u0001\u0000\u0000\u0000\u0106\u0834\u0001\u0000"+
54864 "\u0000\u0000\u0108\u083d\u0001\u0000\u0000\u0000\u010a\u0842\u0001\u0000"+
54865 "\u0000\u0000\u010c\u084c\u0001\u0000\u0000\u0000\u010e\u0856\u0001\u0000"+
54866 "\u0000\u0000\u0110\u085f\u0001\u0000\u0000\u0000\u0112\u086a\u0001\u0000"+
54867 "\u0000\u0000\u0114\u0873\u0001\u0000\u0000\u0000\u0116\u0880\u0001\u0000"+
54868 "\u0000\u0000\u0118\u0889\u0001\u0000\u0000\u0000\u011a\u0894\u0001\u0000"+
54869 "\u0000\u0000\u011c\u089e\u0001\u0000\u0000\u0000\u011e\u08aa\u0001\u0000"+
54870 "\u0000\u0000\u0120\u08b0\u0001\u0000\u0000\u0000\u0122\u08b6\u0001\u0000"+
54871 "\u0000\u0000\u0124\u08bb\u0001\u0000\u0000\u0000\u0126\u08c2\u0001\u0000"+
54872 "\u0000\u0000\u0128\u08cb\u0001\u0000\u0000\u0000\u012a\u08d6\u0001\u0000"+
54873 "\u0000\u0000\u012c\u08df\u0001\u0000\u0000\u0000\u012e\u08e6\u0001\u0000"+
54874 "\u0000\u0000\u0130\u08ef\u0001\u0000\u0000\u0000\u0132\u08fc\u0001\u0000"+
54875 "\u0000\u0000\u0134\u0909\u0001\u0000\u0000\u0000\u0136\u0916\u0001\u0000"+
54876 "\u0000\u0000\u0138\u0923\u0001\u0000\u0000\u0000\u013a\u0938\u0001\u0000"+
54877 "\u0000\u0000\u013c\u0945\u0001\u0000\u0000\u0000\u013e\u0949\u0001\u0000"+
54878 "\u0000\u0000\u0140\u0950\u0001\u0000\u0000\u0000\u0142\u0954\u0001\u0000"+
54879 "\u0000\u0000\u0144\u096a\u0001\u0000\u0000\u0000\u0146\u098b\u0001\u0000"+
54880 "\u0000\u0000\u0148\u0991\u0001\u0000\u0000\u0000\u014a\u09a2\u0001\u0000"+
54881 "\u0000\u0000\u014c\u09a6\u0001\u0000\u0000\u0000\u014e\u09a8\u0001\u0000"+
54882 "\u0000\u0000\u0150\u09ac\u0001\u0000\u0000\u0000\u0152\u09c0\u0001\u0000"+
54883 "\u0000\u0000\u0154\u09c2\u0001\u0000\u0000\u0000\u0156\u0a03\u0001\u0000"+
54884 "\u0000\u0000\u0158\u0a05\u0001\u0000\u0000\u0000\u015a\u0a15\u0001\u0000"+
54885 "\u0000\u0000\u015c\u0a1e\u0001\u0000\u0000\u0000\u015e\u0a27\u0001\u0000"+
54886 "\u0000\u0000\u0160\u0a44\u0001\u0000\u0000\u0000\u0162\u0a48\u0001\u0000"+
54887 "\u0000\u0000\u0164\u0a4f\u0001\u0000\u0000\u0000\u0166\u0a57\u0001\u0000"+
54888 "\u0000\u0000\u0168\u0a59\u0001\u0000\u0000\u0000\u016a\u0a6d\u0001\u0000"+
54889 "\u0000\u0000\u016c\u0a6f\u0001\u0000\u0000\u0000\u016e\u0a75\u0001\u0000"+
54890 "\u0000\u0000\u0170\u0a78\u0001\u0000\u0000\u0000\u0172\u0a81\u0001\u0000"+
54891 "\u0000\u0000\u0174\u0a83\u0001\u0000\u0000\u0000\u0176\u0a8c\u0001\u0000"+
54892 "\u0000\u0000\u0178\u0aa2\u0001\u0000\u0000\u0000\u017a\u0aa9\u0001\u0000"+
54893 "\u0000\u0000\u017c\u0aab\u0001\u0000\u0000\u0000\u017e\u0ab5\u0001\u0000"+
54894 "\u0000\u0000\u0180\u0ac3\u0001\u0000\u0000\u0000\u0182\u0ad2\u0001\u0000"+
54895 "\u0000\u0000\u0184\u0ad4\u0001\u0000\u0000\u0000\u0186\u0ad7\u0001\u0000"+
54896 "\u0000\u0000\u0188\u0ae5\u0001\u0000\u0000\u0000\u018a\u0ae7\u0001\u0000"+
54897 "\u0000\u0000\u018c\u0af4\u0001\u0000\u0000\u0000\u018e\u0afc\u0001\u0000"+
54898 "\u0000\u0000\u0190\u0b03\u0001\u0000\u0000\u0000\u0192\u0b0a\u0001\u0000"+
54899 "\u0000\u0000\u0194\u0b0d\u0001\u0000\u0000\u0000\u0196\u0b16\u0001\u0000"+
54900 "\u0000\u0000\u0198\u0b1b\u0001\u0000\u0000\u0000\u019a\u0b21\u0001\u0000"+
54901 "\u0000\u0000\u019c\u0b2d\u0001\u0000\u0000\u0000\u019e\u0b45\u0001\u0000"+
54902 "\u0000\u0000\u01a0\u0b47\u0001\u0000\u0000\u0000\u01a2\u0b52\u0001\u0000"+
54903 "\u0000\u0000\u01a4\u0b65\u0001\u0000\u0000\u0000\u01a6\u0b6c\u0001\u0000"+
54904 "\u0000\u0000\u01a8\u0b7b\u0001\u0000\u0000\u0000\u01aa\u0bb8\u0001\u0000"+
54905 "\u0000\u0000\u01ac\u0bba\u0001\u0000\u0000\u0000\u01ae\u0bc6\u0001\u0000"+
54906 "\u0000\u0000\u01b0\u0bd8\u0001\u0000\u0000\u0000\u01b2\u0bde\u0001\u0000"+
54907 "\u0000\u0000\u01b4\u0bf0\u0001\u0000\u0000\u0000\u01b6\u0bf2\u0001\u0000"+
54908 "\u0000\u0000\u01b8\u0c19\u0001\u0000\u0000\u0000\u01ba\u0c1b\u0001\u0000"+
54909 "\u0000\u0000\u01bc\u0c31\u0001\u0000\u0000\u0000\u01be\u0c3f\u0001\u0000"+
54910 "\u0000\u0000\u01c0\u0c43\u0001\u0000\u0000\u0000\u01c2\u0c4a\u0001\u0000"+
54911 "\u0000\u0000\u01c4\u0c58\u0001\u0000\u0000\u0000\u01c6\u0c5c\u0001\u0000"+
54912 "\u0000\u0000\u01c8\u0c6a\u0001\u0000\u0000\u0000\u01ca\u0c6e\u0001\u0000"+
54913 "\u0000\u0000\u01cc\u0c7d\u0001\u0000\u0000\u0000\u01ce\u0c7f\u0001\u0000"+
54914 "\u0000\u0000\u01d0\u0c89\u0001\u0000\u0000\u0000\u01d2\u0c9d\u0001\u0000"+
54915 "\u0000\u0000\u01d4\u0ca7\u0001\u0000\u0000\u0000\u01d6\u0cb4\u0001\u0000"+
54916 "\u0000\u0000\u01d8\u0cb8\u0001\u0000\u0000\u0000\u01da\u0cd5\u0001\u0000"+
54917 "\u0000\u0000\u01dc\u0cd7\u0001\u0000\u0000\u0000\u01de\u0cd9\u0001\u0000"+
54918 "\u0000\u0000\u01e0\u0ce5\u0001\u0000\u0000\u0000\u01e2\u0cf2\u0001\u0000"+
54919 "\u0000\u0000\u01e4\u0cfa\u0001\u0000\u0000\u0000\u01e6\u0d00\u0001\u0000"+
54920 "\u0000\u0000\u01e8\u0d12\u0001\u0000\u0000\u0000\u01ea\u0d1a\u0001\u0000"+
54921 "\u0000\u0000\u01ec\u0d21\u0001\u0000\u0000\u0000\u01ee\u0d2a\u0001\u0000"+
54922 "\u0000\u0000\u01f0\u0d39\u0001\u0000\u0000\u0000\u01f2\u0d40\u0001\u0000"+
54923 "\u0000\u0000\u01f4\u0d49\u0001\u0000\u0000\u0000\u01f6\u0d4b\u0001\u0000"+
54924 "\u0000\u0000\u01f8\u0d50\u0001\u0000\u0000\u0000\u01fa\u0d53\u0001\u0000"+
54925 "\u0000\u0000\u01fc\u0d5e\u0001\u0000\u0000\u0000\u01fe\u0d60\u0001\u0000"+
54926 "\u0000\u0000\u0200\u0d80\u0001\u0000\u0000\u0000\u0202\u0d82\u0001\u0000"+
54927 "\u0000\u0000\u0204\u0d91\u0001\u0000\u0000\u0000\u0206\u0da5\u0001\u0000"+
54928 "\u0000\u0000\u0208\u0ddc\u0001\u0000\u0000\u0000\u020a\u0de4\u0001\u0000"+
54929 "\u0000\u0000\u020c\u0de6\u0001\u0000\u0000\u0000\u020e\u0df8\u0001\u0000"+
54930 "\u0000\u0000\u0210\u0e0f\u0001\u0000\u0000\u0000\u0212\u0e25\u0001\u0000"+
54931 "\u0000\u0000\u0214\u0e31\u0001\u0000\u0000\u0000\u0216\u0e33\u0001\u0000"+
54932 "\u0000\u0000\u0218\u0e4b\u0001\u0000\u0000\u0000\u021a\u0e4d\u0001\u0000"+
54933 "\u0000\u0000\u021c\u0e53\u0001\u0000\u0000\u0000\u021e\u0e61\u0001\u0000"+
54934 "\u0000\u0000\u0220\u0e63\u0001\u0000\u0000\u0000\u0222\u0e91\u0001\u0000"+
54935 "\u0000\u0000\u0224\u0ea5\u0001\u0000\u0000\u0000\u0226\u0ea7\u0001\u0000"+
54936 "\u0000\u0000\u0228\u0ec2\u0001\u0000\u0000\u0000\u022a\u0ed7\u0001\u0000"+
54937 "\u0000\u0000\u022c\u0eda\u0001\u0000\u0000\u0000\u022e\u0ef5\u0001\u0000"+
54938 "\u0000\u0000\u0230\u0ef7\u0001\u0000\u0000\u0000\u0232\u0f13\u0001\u0000"+
54939 "\u0000\u0000\u0234\u0f15\u0001\u0000\u0000\u0000\u0236\u0f2c\u0001\u0000"+
54940 "\u0000\u0000\u0238\u0f44\u0001\u0000\u0000\u0000\u023a\u0f5d\u0001\u0000"+
54941 "\u0000\u0000\u023c\u0f68\u0001\u0000\u0000\u0000\u023e\u0f84\u0001\u0000"+
54942 "\u0000\u0000\u0240\u0f90\u0001\u0000\u0000\u0000\u0242\u0f9d\u0001\u0000"+
54943 "\u0000\u0000\u0244\u0f9f\u0001\u0000\u0000\u0000\u0246\u0fab\u0001\u0000"+
54944 "\u0000\u0000\u0248\u0fb4\u0001\u0000\u0000\u0000\u024a\u0fc4\u0001\u0000"+
54945 "\u0000\u0000\u024c\u0fe9\u0001\u0000\u0000\u0000\u024e\u1001\u0001\u0000"+
54946 "\u0000\u0000\u0250\u100c\u0001\u0000\u0000\u0000\u0252\u1018\u0001\u0000"+
54947 "\u0000\u0000\u0254\u101a\u0001\u0000\u0000\u0000\u0256\u1023\u0001\u0000"+
54948 "\u0000\u0000\u0258\u103b\u0001\u0000\u0000\u0000\u025a\u106a\u0001\u0000"+
54949 "\u0000\u0000\u025c\u106c\u0001\u0000\u0000\u0000\u025e\u1077\u0001\u0000"+
54950 "\u0000\u0000\u0260\u1095\u0001\u0000\u0000\u0000\u0262\u1099\u0001\u0000"+
54951 "\u0000\u0000\u0264\u10bf\u0001\u0000\u0000\u0000\u0266\u10d8\u0001\u0000"+
54952 "\u0000\u0000\u0268\u1118\u0001\u0000\u0000\u0000\u026a\u115d\u0001\u0000"+
54953 "\u0000\u0000\u026c\u115f\u0001\u0000\u0000\u0000\u026e\u116a\u0001\u0000"+
54954 "\u0000\u0000\u0270\u1181\u0001\u0000\u0000\u0000\u0272\u118d\u0001\u0000"+
54955 "\u0000\u0000\u0274\u11c5\u0001\u0000\u0000\u0000\u0276\u11d3\u0001\u0000"+
54956 "\u0000\u0000\u0278\u11e2\u0001\u0000\u0000\u0000\u027a\u11ec\u0001\u0000"+
54957 "\u0000\u0000\u027c\u1219\u0001\u0000\u0000\u0000\u027e\u121f\u0001\u0000"+
54958 "\u0000\u0000\u0280\u1237\u0001\u0000\u0000\u0000\u0282\u123b\u0001\u0000"+
54959 "\u0000\u0000\u0284\u125d\u0001\u0000\u0000\u0000\u0286\u125f\u0001\u0000"+
54960 "\u0000\u0000\u0288\u127e\u0001\u0000\u0000\u0000\u028a\u1280\u0001\u0000"+
54961 "\u0000\u0000\u028c\u1287\u0001\u0000\u0000\u0000\u028e\u12a4\u0001\u0000"+
54962 "\u0000\u0000\u0290\u12aa\u0001\u0000\u0000\u0000\u0292\u12bf\u0001\u0000"+
54963 "\u0000\u0000\u0294\u12c1\u0001\u0000\u0000\u0000\u0296\u1303\u0001\u0000"+
54964 "\u0000\u0000\u0298\u1312\u0001\u0000\u0000\u0000\u029a\u131a\u0001\u0000"+
54965 "\u0000\u0000\u029c\u1331\u0001\u0000\u0000\u0000\u029e\u133a\u0001\u0000"+
54966 "\u0000\u0000\u02a0\u1342\u0001\u0000\u0000\u0000\u02a2\u1344\u0001\u0000"+
54967 "\u0000\u0000\u02a4\u1352\u0001\u0000\u0000\u0000\u02a6\u1354\u0001\u0000"+
54968 "\u0000\u0000\u02a8\u135f\u0001\u0000\u0000\u0000\u02aa\u1370\u0001\u0000"+
54969 "\u0000\u0000\u02ac\u1379\u0001\u0000\u0000\u0000\u02ae\u1380\u0001\u0000"+
54970 "\u0000\u0000\u02b0\u1384\u0001\u0000\u0000\u0000\u02b2\u1386\u0001\u0000"+
54971 "\u0000\u0000\u02b4\u1391\u0001\u0000\u0000\u0000\u02b6\u13a4\u0001\u0000"+
54972 "\u0000\u0000\u02b8\u13c0\u0001\u0000\u0000\u0000\u02ba\u13c3\u0001\u0000"+
54973 "\u0000\u0000\u02bc\u13dd\u0001\u0000\u0000\u0000\u02be\u13e6\u0001\u0000"+
54974 "\u0000\u0000\u02c0\u13f5\u0001\u0000\u0000\u0000\u02c2\u13fd\u0001\u0000"+
54975 "\u0000\u0000\u02c4\u1401\u0001\u0000\u0000\u0000\u02c6\u140a\u0001\u0000"+
54976 "\u0000\u0000\u02c8\u1417\u0001\u0000\u0000\u0000\u02ca\u1428\u0001\u0000"+
54977 "\u0000\u0000\u02cc\u142c\u0001\u0000\u0000\u0000\u02ce\u1445\u0001\u0000"+
54978 "\u0000\u0000\u02d0\u1449\u0001\u0000\u0000\u0000\u02d2\u144c\u0001\u0000"+
54979 "\u0000\u0000\u02d4\u145f\u0001\u0000\u0000\u0000\u02d6\u1463\u0001\u0000"+
54980 "\u0000\u0000\u02d8\u147b\u0001\u0000\u0000\u0000\u02da\u147d\u0001\u0000"+
54981 "\u0000\u0000\u02dc\u148b\u0001\u0000\u0000\u0000\u02de\u148d\u0001\u0000"+
54982 "\u0000\u0000\u02e0\u149d\u0001\u0000\u0000\u0000\u02e2\u14b9\u0001\u0000"+
54983 "\u0000\u0000\u02e4\u14c0\u0001\u0000\u0000\u0000\u02e6\u14de\u0001\u0000"+
54984 "\u0000\u0000\u02e8\u14e0\u0001\u0000\u0000\u0000\u02ea\u1500\u0001\u0000"+
54985 "\u0000\u0000\u02ec\u1502\u0001\u0000\u0000\u0000\u02ee\u1504\u0001\u0000"+
54986 "\u0000\u0000\u02f0\u1507\u0001\u0000\u0000\u0000\u02f2\u150a\u0001\u0000"+
54987 "\u0000\u0000\u02f4\u150d\u0001\u0000\u0000\u0000\u02f6\u1515\u0001\u0000"+
54988 "\u0000\u0000\u02f8\u1536\u0001\u0000\u0000\u0000\u02fa\u1556\u0001\u0000"+
54989 "\u0000\u0000\u02fc\u155c\u0001\u0000\u0000\u0000\u02fe\u155e\u0001\u0000"+
54990 "\u0000\u0000\u0300\u1561\u0001\u0000\u0000\u0000\u0302\u156b\u0001\u0000"+
54991 "\u0000\u0000\u0304\u156e\u0001\u0000\u0000\u0000\u0306\u1572\u0001\u0000"+
54992 "\u0000\u0000\u0308\u1575\u0001\u0000\u0000\u0000\u030a\u157d\u0001\u0000"+
54993 "\u0000\u0000\u030c\u1584\u0001\u0000\u0000\u0000\u030e\u1590\u0001\u0000"+
54994 "\u0000\u0000\u0310\u1598\u0001\u0000\u0000\u0000\u0312\u15a1\u0001\u0000"+
54995 "\u0000\u0000\u0314\u15a7\u0001\u0000\u0000\u0000\u0316\u15f0\u0001\u0000"+
54996 "\u0000\u0000\u0318\u1628\u0001\u0000\u0000\u0000\u031a\u162a\u0001\u0000"+
54997 "\u0000\u0000\u031c\u1630\u0001\u0000\u0000\u0000\u031e\u1670\u0001\u0000"+
54998 "\u0000\u0000\u0320\u1680\u0001\u0000\u0000\u0000\u0322\u1696\u0001\u0000"+
54999 "\u0000\u0000\u0324\u16a0\u0001\u0000\u0000\u0000\u0326\u16b1\u0001\u0000"+
55000 "\u0000\u0000\u0328\u16b3\u0001\u0000\u0000\u0000\u032a\u16b5\u0001\u0000"+
55001 "\u0000\u0000\u032c\u16b7\u0001\u0000\u0000\u0000\u032e\u16ba\u0001\u0000"+
55002 "\u0000\u0000\u0330\u16bf\u0001\u0000\u0000\u0000\u0332\u16d6\u0001\u0000"+
55003 "\u0000\u0000\u0334\u16e9\u0001\u0000\u0000\u0000\u0336\u16fb\u0001\u0000"+
55004 "\u0000\u0000\u0338\u16ff\u0001\u0000\u0000\u0000\u033a\u170b\u0001\u0000"+
55005 "\u0000\u0000\u033c\u1712\u0001\u0000\u0000\u0000\u033e\u1716\u0001\u0000"+
55006 "\u0000\u0000\u0340\u1718\u0001\u0000\u0000\u0000\u0342\u1720\u0001\u0000"+
55007 "\u0000\u0000\u0344\u1735\u0001\u0000\u0000\u0000\u0346\u1746\u0001\u0000"+
55008 "\u0000\u0000\u0348\u174b\u0001\u0000\u0000\u0000\u034a\u1760\u0001\u0000"+
55009 "\u0000\u0000\u034c\u1771\u0001\u0000\u0000\u0000\u034e\u178c\u0001\u0000"+
55010 "\u0000\u0000\u0350\u179e\u0001\u0000\u0000\u0000\u0352\u17ed\u0001\u0000"+
55011 "\u0000\u0000\u0354\u1801\u0001\u0000\u0000\u0000\u0356\u18aa\u0001\u0000"+
55012 "\u0000\u0000\u0358\u18af\u0001\u0000\u0000\u0000\u035a\u18b9\u0001\u0000"+
55013 "\u0000\u0000\u035c\u18c4\u0001\u0000\u0000\u0000\u035e\u18ce\u0001\u0000"+
55014 "\u0000\u0000\u0360\u18d7\u0001\u0000\u0000\u0000\u0362\u18ed\u0001\u0000"+
55015 "\u0000\u0000\u0364\u18fa\u0001\u0000\u0000\u0000\u0366\u1901\u0001\u0000"+
55016 "\u0000\u0000\u0368\u190d\u0001\u0000\u0000\u0000\u036a\u191a\u0001\u0000"+
55017 "\u0000\u0000\u036c\u1927\u0001\u0000\u0000\u0000\u036e\u1932\u0001\u0000"+
55018 "\u0000\u0000\u0370\u193e\u0001\u0000\u0000\u0000\u0372\u1950\u0001\u0000"+
55019 "\u0000\u0000\u0374\u195c\u0001\u0000\u0000\u0000\u0376\u1969\u0001\u0000"+
55020 "\u0000\u0000\u0378\u1976\u0001\u0000\u0000\u0000\u037a\u1982\u0001\u0000"+
55021 "\u0000\u0000\u037c\u1995\u0001\u0000\u0000\u0000\u037e\u1999\u0001\u0000"+
55022 "\u0000\u0000\u0380\u19a6\u0001\u0000\u0000\u0000\u0382\u19b3\u0001\u0000"+
55023 "\u0000\u0000\u0384\u19bc\u0001\u0000\u0000\u0000\u0386\u19c6\u0001\u0000"+
55024 "\u0000\u0000\u0388\u19c8\u0001\u0000\u0000\u0000\u038a\u19ca\u0001\u0000"+
55025 "\u0000\u0000\u038c\u19f6\u0001\u0000\u0000\u0000\u038e\u19f8\u0001\u0000"+
55026 "\u0000\u0000\u0390\u19fa\u0001\u0000\u0000\u0000\u0392\u19fc\u0001\u0000"+
55027 "\u0000\u0000\u0394\u1a04\u0001\u0000\u0000\u0000\u0396\u1a10\u0001\u0000"+
55028 "\u0000\u0000\u0398\u1a42\u0001\u0000\u0000\u0000\u039a\u1a4f\u0001\u0000"+
55029 "\u0000\u0000\u039c\u1a5c\u0001\u0000\u0000\u0000\u039e\u1a84\u0001\u0000"+
55030 "\u0000\u0000\u03a0\u1a94\u0001\u0000\u0000\u0000\u03a2\u1aaa\u0001\u0000"+
55031 "\u0000\u0000\u03a4\u1aac\u0001\u0000\u0000\u0000\u03a6\u1aba\u0001\u0000"+
55032 "\u0000\u0000\u03a8\u1ac4\u0001\u0000\u0000\u0000\u03aa\u1ac6\u0001\u0000"+
55033 "\u0000\u0000\u03ac\u1ac8\u0001\u0000\u0000\u0000\u03ae\u1aca\u0001\u0000"+
55034 "\u0000\u0000\u03b0\u1acf\u0001\u0000\u0000\u0000\u03b2\u1ad6\u0001\u0000"+
55035 "\u0000\u0000\u03b4\u1b06\u0001\u0000\u0000\u0000\u03b6\u1b08\u0001\u0000"+
55036 "\u0000\u0000\u03b8\u1b0f\u0001\u0000\u0000\u0000\u03ba\u1b16\u0001\u0000"+
55037 "\u0000\u0000\u03bc\u1b25\u0001\u0000\u0000\u0000\u03be\u1b33\u0001\u0000"+
55038 "\u0000\u0000\u03c0\u1b35\u0001\u0000\u0000\u0000\u03c2\u1b5d\u0001\u0000"+
55039 "\u0000\u0000\u03c4\u1b5f\u0001\u0000\u0000\u0000\u03c6\u1b61\u0001\u0000"+
55040 "\u0000\u0000\u03c8\u1b74\u0001\u0000\u0000\u0000\u03ca\u1b7c\u0001\u0000"+
55041 "\u0000\u0000\u03cc\u1b8a\u0001\u0000\u0000\u0000\u03ce\u1b8c\u0001\u0000"+
55042 "\u0000\u0000\u03d0\u1b98\u0001\u0000\u0000\u0000\u03d2\u1baf\u0001\u0000"+
55043 "\u0000\u0000\u03d4\u1bb1\u0001\u0000\u0000\u0000\u03d6\u1bb4\u0001\u0000"+
55044 "\u0000\u0000\u03d8\u1bc1\u0001\u0000\u0000\u0000\u03da\u1bc3\u0001\u0000"+
55045 "\u0000\u0000\u03dc\u1bda\u0001\u0000\u0000\u0000\u03de\u1bdc\u0001\u0000"+
55046 "\u0000\u0000\u03e0\u1be0\u0001\u0000\u0000\u0000\u03e2\u1bf0\u0001\u0000"+
55047 "\u0000\u0000\u03e4\u1c17\u0001\u0000\u0000\u0000\u03e6\u1c19\u0001\u0000"+
55048 "\u0000\u0000\u03e8\u1c21\u0001\u0000\u0000\u0000\u03ea\u1c23\u0001\u0000"+
55049 "\u0000\u0000\u03ec\u0428\u0003\u02dc\u016e\u0000\u03ed\u0428\u0003\u02ba"+
55050 "\u015d\u0000\u03ee\u0428\u0003\u02c8\u0164\u0000\u03ef\u0428\u0003\u02d2"+
55051 "\u0169\u0000\u03f0\u0428\u0003\u0106\u0083\u0000\u03f1\u0428\u0003\u011a"+
55052 "\u008d\u0000\u03f2\u0428\u0003\u012e\u0097\u0000\u03f3\u0428\u0003\u0102"+
55053 "\u0081\u0000\u03f4\u0428\u0003\u0108\u0084\u0000\u03f5\u0428\u0003\u010c"+
55054 "\u0086\u0000\u03f6\u0428\u0003\u010e\u0087\u0000\u03f7\u0428\u0003\u0110"+
55055 "\u0088\u0000\u03f8\u0428\u0003\u0112\u0089\u0000\u03f9\u0428\u0003\u0114"+
55056 "\u008a\u0000\u03fa\u0428\u0003\u0116\u008b\u0000\u03fb\u0428\u0003\u0118"+
55057 "\u008c\u0000\u03fc\u0428\u0003\u0124\u0092\u0000\u03fd\u0428\u0003\u0126"+
55058 "\u0093\u0000\u03fe\u0428\u0003\u011c\u008e\u0000\u03ff\u0428\u0003\u0128"+
55059 "\u0094\u0000\u0400\u0428\u0003\u012a\u0095\u0000\u0401\u0428\u0003\u0122"+
55060 "\u0091\u0000\u0402\u0428\u0003\u012c\u0096\u0000\u0403\u0428\u0003\u0130"+
55061 "\u0098\u0000\u0404\u0428\u0003\u0132\u0099\u0000\u0405\u0428\u0003\u0134"+
55062 "\u009a\u0000\u0406\u0428\u0003\u0136\u009b\u0000\u0407\u0428\u0003\u0138"+
55063 "\u009c\u0000\u0408\u0428\u0003\u013a\u009d\u0000\u0409\u0428\u0003\u013c"+
55064 "\u009e\u0000\u040a\u0428\u0003\u013e\u009f\u0000\u040b\u0428\u0003\u0140"+
55065 "\u00a0\u0000\u040c\u0428\u0003\u010a\u0085\u0000\u040d\u0428\u0003\u0002"+
55066 "\u0001\u0000\u040e\u0428\u0003\n\u0005\u0000\u040f\u0428\u0003\f\u0006"+
55067 "\u0000\u0410\u0428\u0003\u0006\u0003\u0000\u0411\u0428\u0003\u000e\u0007"+
55068 "\u0000\u0412\u0428\u0003\u0010\b\u0000\u0413\u0428\u0003\u0012\t\u0000"+
55069 "\u0414\u0428\u0003\u0014\n\u0000\u0415\u0428\u0003\u0016\u000b\u0000\u0416"+
55070 "\u0428\u0003\u032e\u0197\u0000\u0417\u0428\u0003\u0340\u01a0\u0000\u0418"+
55071 "\u0428\u0003\u0346\u01a3\u0000\u0419\u0428\u0003\u0394\u01ca\u0000\u041a"+
55072 "\u0428\u0003\u03b0\u01d8\u0000\u041b\u0428\u0003\u03b2\u01d9\u0000\u041c"+
55073 "\u0428\u0003\u03b6\u01db\u0000\u041d\u0428\u0003\u03b8\u01dc\u0000\u041e"+
55074 "\u0428\u0003\u03ba\u01dd\u0000\u041f\u0428\u0003\u03bc\u01de\u0000\u0420"+
55075 "\u0428\u0003\u03de\u01ef\u0000\u0421\u0428\u0003\u03e0\u01f0\u0000\u0422"+
55076 "\u0428\u0003\u00fc~\u0000\u0423\u0428\u0003\u00fe\u007f\u0000\u0424\u0428"+
55077 "\u0003\u0392\u01c9\u0000\u0425\u0428\u0003\u03ea\u01f5\u0000\u0426\u0428"+
55078 "\u0003\u0142\u00a1\u0000\u0427\u03ec\u0001\u0000\u0000\u0000\u0427\u03ed"+
55079 "\u0001\u0000\u0000\u0000\u0427\u03ee\u0001\u0000\u0000\u0000\u0427\u03ef"+
55080 "\u0001\u0000\u0000\u0000\u0427\u03f0\u0001\u0000\u0000\u0000\u0427\u03f1"+
55081 "\u0001\u0000\u0000\u0000\u0427\u03f2\u0001\u0000\u0000\u0000\u0427\u03f3"+
55082 "\u0001\u0000\u0000\u0000\u0427\u03f4\u0001\u0000\u0000\u0000\u0427\u03f5"+
55083 "\u0001\u0000\u0000\u0000\u0427\u03f6\u0001\u0000\u0000\u0000\u0427\u03f7"+
55084 "\u0001\u0000\u0000\u0000\u0427\u03f8\u0001\u0000\u0000\u0000\u0427\u03f9"+
55085 "\u0001\u0000\u0000\u0000\u0427\u03fa\u0001\u0000\u0000\u0000\u0427\u03fb"+
55086 "\u0001\u0000\u0000\u0000\u0427\u03fc\u0001\u0000\u0000\u0000\u0427\u03fd"+
55087 "\u0001\u0000\u0000\u0000\u0427\u03fe\u0001\u0000\u0000\u0000\u0427\u03ff"+
55088 "\u0001\u0000\u0000\u0000\u0427\u0400\u0001\u0000\u0000\u0000\u0427\u0401"+
55089 "\u0001\u0000\u0000\u0000\u0427\u0402\u0001\u0000\u0000\u0000\u0427\u0403"+
55090 "\u0001\u0000\u0000\u0000\u0427\u0404\u0001\u0000\u0000\u0000\u0427\u0405"+
55091 "\u0001\u0000\u0000\u0000\u0427\u0406\u0001\u0000\u0000\u0000\u0427\u0407"+
55092 "\u0001\u0000\u0000\u0000\u0427\u0408\u0001\u0000\u0000\u0000\u0427\u0409"+
55093 "\u0001\u0000\u0000\u0000\u0427\u040a\u0001\u0000\u0000\u0000\u0427\u040b"+
55094 "\u0001\u0000\u0000\u0000\u0427\u040c\u0001\u0000\u0000\u0000\u0427\u040d"+
55095 "\u0001\u0000\u0000\u0000\u0427\u040e\u0001\u0000\u0000\u0000\u0427\u040f"+
55096 "\u0001\u0000\u0000\u0000\u0427\u0410\u0001\u0000\u0000\u0000\u0427\u0411"+
55097 "\u0001\u0000\u0000\u0000\u0427\u0412\u0001\u0000\u0000\u0000\u0427\u0413"+
55098 "\u0001\u0000\u0000\u0000\u0427\u0414\u0001\u0000\u0000\u0000\u0427\u0415"+
55099 "\u0001\u0000\u0000\u0000\u0427\u0416\u0001\u0000\u0000\u0000\u0427\u0417"+
55100 "\u0001\u0000\u0000\u0000\u0427\u0418\u0001\u0000\u0000\u0000\u0427\u0419"+
55101 "\u0001\u0000\u0000\u0000\u0427\u041a\u0001\u0000\u0000\u0000\u0427\u041b"+
55102 "\u0001\u0000\u0000\u0000\u0427\u041c\u0001\u0000\u0000\u0000\u0427\u041d"+
55103 "\u0001\u0000\u0000\u0000\u0427\u041e\u0001\u0000\u0000\u0000\u0427\u041f"+
55104 "\u0001\u0000\u0000\u0000\u0427\u0420\u0001\u0000\u0000\u0000\u0427\u0421"+
55105 "\u0001\u0000\u0000\u0000\u0427\u0422\u0001\u0000\u0000\u0000\u0427\u0423"+
55106 "\u0001\u0000\u0000\u0000\u0427\u0424\u0001\u0000\u0000\u0000\u0427\u0425"+
55107 "\u0001\u0000\u0000\u0000\u0427\u0426\u0001\u0000\u0000\u0000\u0428\u042a"+
55108 "\u0001\u0000\u0000\u0000\u0429\u042b\u0005+\u0000\u0000\u042a\u0429\u0001"+
55109 "\u0000\u0000\u0000\u042a\u042b\u0001\u0000\u0000\u0000\u042b\u0001\u0001"+
55110 "\u0000\u0000\u0000\u042c\u042d\u0005:\u0000\u0000\u042d\u042e\u0005\u0107"+
55111 "\u0000\u0000\u042e\u042f\u0005\u021a\u0000\u0000\u042f\u0430\u0005\u0219"+
55112 "\u0000\u0000\u0430\u0431\u0003\u0004\u0002\u0000\u0431\u0003\u0001\u0000"+
55113 "\u0000\u0000\u0432\u0433\u0005\u021d\u0000\u0000\u0433\u043b\u0005\u02a6"+
55114 "\u0000\u0000\u0434\u0435\u0005\u021d\u0000\u0000\u0435\u043b\u0005\u02a7"+
55115 "\u0000\u0000\u0436\u0437\u0005\u021c\u0000\u0000\u0437\u043b\u0005\u021d"+
55116 "\u0000\u0000\u0438\u043b\u0005\u021b\u0000\u0000\u0439\u043b\u0005\u021e"+
55117 "\u0000\u0000\u043a\u0432\u0001\u0000\u0000\u0000\u043a\u0434\u0001\u0000"+
55118 "\u0000\u0000\u043a\u0436\u0001\u0000\u0000\u0000\u043a\u0438\u0001\u0000"+
55119 "\u0000\u0000\u043a\u0439\u0001\u0000\u0000\u0000\u043b\u0005\u0001\u0000"+
55120 "\u0000\u0000\u043c\u043d\u0005:\u0000\u0000\u043d\u043e\u0005\u01ac\u0000"+
55121 "\u0000\u043e\u043f\u0003\b\u0004\u0000\u043f\u0007\u0001\u0000\u0000\u0000"+
55122 "\u0440\u0441\u0007\u0000\u0000\u0000\u0441\t\u0001\u0000\u0000\u0000\u0442"+
55123 "\u0443\u0005}\u0000\u0000\u0443\u0450\u0007\u0001\u0000\u0000\u0444\u0447"+
55124 "\u0003\u00eew\u0000\u0445\u0447\u0003\u00f0x\u0000\u0446\u0444\u0001\u0000"+
55125 "\u0000\u0000\u0446\u0445\u0001\u0000\u0000\u0000\u0447\u044e\u0001\u0000"+
55126 "\u0000\u0000\u0448\u0449\u0005M\u0000\u0000\u0449\u044c\u0005\u0232\u0000"+
55127 "\u0000\u044a\u044d\u0003\u001c\u000e\u0000\u044b\u044d\u0005\u02da\u0000"+
55128 "\u0000\u044c\u044a\u0001\u0000\u0000\u0000\u044c\u044b\u0001\u0000\u0000"+
55129 "\u0000\u044c\u044d\u0001\u0000\u0000\u0000\u044d\u044f\u0001\u0000\u0000"+
55130 "\u0000\u044e\u0448\u0001\u0000\u0000\u0000\u044e\u044f\u0001\u0000\u0000"+
55131 "\u0000\u044f\u0451\u0001\u0000\u0000\u0000\u0450\u0446\u0001\u0000\u0000"+
55132 "\u0000\u0450\u0451\u0001\u0000\u0000\u0000\u0451\u000b\u0001\u0000\u0000"+
55133 "\u0000\u0452\u0453\u0005}\u0000\u0000\u0453\u0454\u0005\u0231\u0000\u0000"+
55134 "\u0454\u0457\u0007\u0001\u0000\u0000\u0455\u0458\u0003\u00eew\u0000\u0456"+
55135 "\u0458\u0003\u00f0x\u0000\u0457\u0455\u0001\u0000\u0000\u0000\u0457\u0456"+
55136 "\u0001\u0000\u0000\u0000\u0457\u0458\u0001\u0000\u0000\u0000\u0458\r\u0001"+
55137 "\u0000\u0000\u0000\u0459\u045f\u0005~\u0000\u0000\u045a\u045d\u0007\u0001"+
55138 "\u0000\u0000\u045b\u045e\u0003\u00eew\u0000\u045c\u045e\u0003\u00f0x\u0000"+
55139 "\u045d\u045b\u0001\u0000\u0000\u0000\u045d\u045c\u0001\u0000\u0000\u0000"+
55140 "\u045d\u045e\u0001\u0000\u0000\u0000\u045e\u0460\u0001\u0000\u0000\u0000"+
55141 "\u045f\u045a\u0001\u0000\u0000\u0000\u045f\u0460\u0001\u0000\u0000\u0000"+
55142 "\u0460\u0467\u0001\u0000\u0000\u0000\u0461\u0462\u0005M\u0000\u0000\u0462"+
55143 "\u0463\u0005\u001f\u0000\u0000\u0463\u0464\u0005\u0299\u0000\u0000\u0464"+
55144 "\u0465\u0005\u0018\u0000\u0000\u0465\u0466\u0007\u0000\u0000\u0000\u0466"+
55145 "\u0468\u0005 \u0000\u0000\u0467\u0461\u0001\u0000\u0000\u0000\u0467\u0468"+
55146 "\u0001\u0000\u0000\u0000\u0468\u000f\u0001\u0000\u0000\u0000\u0469\u046b"+
55147 "\u0005~\u0000\u0000\u046a\u046c\u0005\u0233\u0000\u0000\u046b\u046a\u0001"+
55148 "\u0000\u0000\u0000\u046b\u046c\u0001\u0000\u0000\u0000\u046c\u0011\u0001"+
55149 "\u0000\u0000\u0000\u046d\u046e\u0005\u007f\u0000\u0000\u046e\u0473\u0007"+
55150 "\u0001\u0000\u0000\u046f\u0474\u0003\u00eew\u0000\u0470\u0474\u0003\u00f0"+
55151 "x\u0000\u0471\u0474\u0003\u00f2y\u0000\u0472\u0474\u0003\u00f4z\u0000"+
55152 "\u0473\u046f\u0001\u0000\u0000\u0000\u0473\u0470\u0001\u0000\u0000\u0000"+
55153 "\u0473\u0471\u0001\u0000\u0000\u0000\u0473\u0472\u0001\u0000\u0000\u0000"+
55154 "\u0473\u0474\u0001\u0000\u0000\u0000\u0474\u0013\u0001\u0000\u0000\u0000"+
55155 "\u0475\u0477\u0005\u007f\u0000\u0000\u0476\u0478\u0005\u0233\u0000\u0000"+
55156 "\u0477\u0476\u0001\u0000\u0000\u0000\u0477\u0478\u0001\u0000\u0000\u0000"+
55157 "\u0478\u0015\u0001\u0000\u0000\u0000\u0479\u047a\u0005\u013e\u0000\u0000"+
55158 "\u047a\u047d\u0007\u0001\u0000\u0000\u047b\u047e\u0003\u00f2y\u0000\u047c"+
55159 "\u047e\u0003\u00f4z\u0000\u047d\u047b\u0001\u0000\u0000\u0000\u047d\u047c"+
55160 "\u0001\u0000\u0000\u0000\u047e\u0017\u0001\u0000\u0000\u0000\u047f\u0480"+
55161 "\u0005)\u0000\u0000\u0480\u0019\u0001\u0000\u0000\u0000\u0481\u0489\u0003"+
55162 "\u001c\u000e\u0000\u0482\u0489\u0003\u001e\u000f\u0000\u0483\u0489\u0003"+
55163 " \u0010\u0000\u0484\u0489\u0003\"\u0011\u0000\u0485\u0489\u0003$\u0012"+
55164 "\u0000\u0486\u0489\u0003&\u0013\u0000\u0487\u0489\u0003(\u0014\u0000\u0488"+
55165 "\u0481\u0001\u0000\u0000\u0000\u0488\u0482\u0001\u0000\u0000\u0000\u0488"+
55166 "\u0483\u0001\u0000\u0000\u0000\u0488\u0484\u0001\u0000\u0000\u0000\u0488"+
55167 "\u0485\u0001\u0000\u0000\u0000\u0488\u0486\u0001\u0000\u0000\u0000\u0488"+
55168 "\u0487\u0001\u0000\u0000\u0000\u0489\u001b\u0001\u0000\u0000\u0000\u048a"+
55169 "\u048b\u0007\u0002\u0000\u0000\u048b\u001d\u0001\u0000\u0000\u0000\u048c"+
55170 "\u048e\u0007\u0003\u0000\u0000\u048d\u048c\u0001\u0000\u0000\u0000\u048d"+
55171 "\u048e\u0001\u0000\u0000\u0000\u048e\u048f\u0001\u0000\u0000\u0000\u048f"+
55172 "\u0490\u0005\u02d4\u0000\u0000\u0490\u001f\u0001\u0000\u0000\u0000\u0491"+
55173 "\u0492\u0007\u0004\u0000\u0000\u0492\u0499\u0005\u02d3\u0000\u0000\u0493"+
55174 "\u0494\u0005!\u0000\u0000\u0494\u0495\u0003*\u0015\u0000\u0495\u0496\u0005"+
55175 "\u02d3\u0000\u0000\u0496\u0497\u0005\"\u0000\u0000\u0497\u0499\u0001\u0000"+
55176 "\u0000\u0000\u0498\u0491\u0001\u0000\u0000\u0000\u0498\u0493\u0001\u0000"+
55177 "\u0000\u0000\u0499!\u0001\u0000\u0000\u0000\u049a\u049b\u0005\u02d8\u0000"+
55178 "\u0000\u049b#\u0001\u0000\u0000\u0000\u049c\u049d\u0005\u02d9\u0000\u0000"+
55179 "\u049d%\u0001\u0000\u0000\u0000\u049e\u049f\u0007\u0005\u0000\u0000\u049f"+
55180 "\'\u0001\u0000\u0000\u0000\u04a0\u04a1\u0005l\u0000\u0000\u04a1)\u0001"+
55181 "\u0000\u0000\u0000\u04a2\u04a5\u0003,\u0016\u0000\u04a3\u04a5\u0003.\u0017"+
55182 "\u0000\u04a4\u04a2\u0001\u0000\u0000\u0000\u04a4\u04a3\u0001\u0000\u0000"+
55183 "\u0000\u04a5+\u0001\u0000\u0000\u0000\u04a6\u04a9\u0005\u02d1\u0000\u0000"+
55184 "\u04a7\u04a9\u00030\u0018\u0000\u04a8\u04a6\u0001\u0000\u0000\u0000\u04a8"+
55185 "\u04a7\u0001\u0000\u0000\u0000\u04a9-\u0001\u0000\u0000\u0000\u04aa\u04ab"+
55186 "\u0005\u02d2\u0000\u0000\u04ab/\u0001\u0000\u0000\u0000\u04ac\u04ad\u0007"+
55187 "\u0006\u0000\u0000\u04ad1\u0001\u0000\u0000\u0000\u04ae\u04af\u0003*\u0015"+
55188 "\u0000\u04af3\u0001\u0000\u0000\u0000\u04b0\u04b1\u0003*\u0015\u0000\u04b1"+
55189 "5\u0001\u0000\u0000\u0000\u04b2\u04b3\u0003L&\u0000\u04b3\u04b4\u0005"+
55190 "\u0014\u0000\u0000\u04b4\u04b6\u0001\u0000\u0000\u0000\u04b5\u04b2\u0001"+
55191 "\u0000\u0000\u0000\u04b5\u04b6\u0001\u0000\u0000\u0000\u04b6\u04b7\u0001"+
55192 "\u0000\u0000\u0000\u04b7\u04b8\u0003N\'\u0000\u04b87\u0001\u0000\u0000"+
55193 "\u0000\u04b9\u04ba\u0003L&\u0000\u04ba\u04bb\u0005\u0014\u0000\u0000\u04bb"+
55194 "\u04bd\u0001\u0000\u0000\u0000\u04bc\u04b9\u0001\u0000\u0000\u0000\u04bc"+
55195 "\u04bd\u0001\u0000\u0000\u0000\u04bd\u04be\u0001\u0000\u0000\u0000\u04be"+
55196 "\u04c1\u0003N\'\u0000\u04bf\u04c0\u0005+\u0000\u0000\u04c0\u04c2\u0003"+
55197 "\u001e\u000f\u0000\u04c1\u04bf\u0001\u0000\u0000\u0000\u04c1\u04c2\u0001"+
55198 "\u0000\u0000\u0000\u04c29\u0001\u0000\u0000\u0000\u04c3\u04c4\u0003L&"+
55199 "\u0000\u04c4\u04c5\u0005\u0014\u0000\u0000\u04c5\u04c7\u0001\u0000\u0000"+
55200 "\u0000\u04c6\u04c3\u0001\u0000\u0000\u0000\u04c6\u04c7\u0001\u0000\u0000"+
55201 "\u0000\u04c7\u04c8\u0001\u0000\u0000\u0000\u04c8\u04c9\u0003N\'\u0000"+
55202 "\u04c9;\u0001\u0000\u0000\u0000\u04ca\u04cb\u00034\u001a\u0000\u04cb\u04cc"+
55203 "\u0005\u0014\u0000\u0000\u04cc\u04ce\u0001\u0000\u0000\u0000\u04cd\u04ca"+
55204 "\u0001\u0000\u0000\u0000\u04cd\u04ce\u0001\u0000\u0000\u0000\u04ce\u04cf"+
55205 "\u0001\u0000\u0000\u0000\u04cf\u04d0\u0003N\'\u0000\u04d0=\u0001\u0000"+
55206 "\u0000\u0000\u04d1\u04d2\u00034\u001a\u0000\u04d2\u04d3\u0005\u0014\u0000"+
55207 "\u0000\u04d3\u04d5\u0001\u0000\u0000\u0000\u04d4\u04d1\u0001\u0000\u0000"+
55208 "\u0000\u04d4\u04d5\u0001\u0000\u0000\u0000\u04d5\u04d6\u0001\u0000\u0000"+
55209 "\u0000\u04d6\u04d7\u0003N\'\u0000\u04d7?\u0001\u0000\u0000\u0000\u04d8"+
55210 "\u04d9\u00032\u0019\u0000\u04d9\u04da\u0005\u0014\u0000\u0000\u04da\u04dc"+
55211 "\u0001\u0000\u0000\u0000\u04db\u04d8\u0001\u0000\u0000\u0000\u04db\u04dc"+
55212 "\u0001\u0000\u0000\u0000\u04dc\u04e1\u0001\u0000\u0000\u0000\u04dd\u04df"+
55213 "\u0003L&\u0000\u04de\u04dd\u0001\u0000\u0000\u0000\u04de\u04df\u0001\u0000"+
55214 "\u0000\u0000\u04df\u04e0\u0001\u0000\u0000\u0000\u04e0\u04e2\u0005\u0014"+
55215 "\u0000\u0000\u04e1\u04de\u0001\u0000\u0000\u0000\u04e1\u04e2\u0001\u0000"+
55216 "\u0000\u0000\u04e2\u04e3\u0001\u0000\u0000\u0000\u04e3\u04e4\u0003N\'"+
55217 "\u0000\u04e4A\u0001\u0000\u0000\u0000\u04e5\u04e6\u00034\u001a\u0000\u04e6"+
55218 "\u04e7\u0005\u0014\u0000\u0000\u04e7\u04e9\u0001\u0000\u0000\u0000\u04e8"+
55219 "\u04e5\u0001\u0000\u0000\u0000\u04e8\u04e9\u0001\u0000\u0000\u0000\u04e9"+
55220 "\u04ea\u0001\u0000\u0000\u0000\u04ea\u04eb\u0003N\'\u0000\u04ebC\u0001"+
55221 "\u0000\u0000\u0000\u04ec\u04ed\u0003N\'\u0000\u04edE\u0001\u0000\u0000"+
55222 "\u0000\u04ee\u04ef\u0003N\'\u0000\u04efG\u0001\u0000\u0000\u0000\u04f0"+
55223 "\u04f1\u00032\u0019\u0000\u04f1\u04f2\u0005\u0014\u0000\u0000\u04f2\u04f4"+
55224 "\u0001\u0000\u0000\u0000\u04f3\u04f0\u0001\u0000\u0000\u0000\u04f3\u04f4"+
55225 "\u0001\u0000\u0000\u0000\u04f4\u04f5\u0001\u0000\u0000\u0000\u04f5\u04f6"+
55226 "\u0003L&\u0000\u04f6\u04f7\u0005\u0014";
55227 private static final String _serializedATNSegment1 =
55228 "\u0000\u0000\u04f7\u04f9\u0001\u0000\u0000\u0000\u04f8\u04f3\u0001\u0000"+
55229 "\u0000\u0000\u04f8\u04f9\u0001\u0000\u0000\u0000\u04f9\u04fc\u0001\u0000"+
55230 "\u0000\u0000\u04fa\u04fd\u0003N\'\u0000\u04fb\u04fd\u0003J%\u0000\u04fc"+
55231 "\u04fa\u0001\u0000\u0000\u0000\u04fc\u04fb\u0001\u0000\u0000\u0000\u04fd"+
55232 "I\u0001\u0000\u0000\u0000\u04fe\u04ff\u0005,\u0000\u0000\u04ff\u0500\u0005"+
55233 "\u001f\u0000\u0000\u0500\u0501\u0003N\'\u0000\u0501\u0502\u0005 \u0000"+
55234 "\u0000\u0502K\u0001\u0000\u0000\u0000\u0503\u0504\u0003*\u0015\u0000\u0504"+
55235 "M\u0001\u0000\u0000\u0000\u0505\u0506\u0003*\u0015\u0000\u0506O\u0001"+
55236 "\u0000\u0000\u0000\u0507\u0508\u0005\u001f\u0000\u0000\u0508\u050d\u0003"+
55237 "H$\u0000\u0509\u050a\u0005%\u0000\u0000\u050a\u050c\u0003H$\u0000\u050b"+
55238 "\u0509\u0001\u0000\u0000\u0000\u050c\u050f\u0001\u0000\u0000\u0000\u050d"+
55239 "\u050b\u0001\u0000\u0000\u0000\u050d\u050e\u0001\u0000\u0000\u0000\u050e"+
55240 "\u0510\u0001\u0000\u0000\u0000\u050f\u050d\u0001\u0000\u0000\u0000\u0510"+
55241 "\u0511\u0005 \u0000\u0000\u0511Q\u0001\u0000\u0000\u0000\u0512\u0513\u0005"+
55242 "\u001f\u0000\u0000\u0513\u0518\u0003\u00cae\u0000\u0514\u0515\u0005%\u0000"+
55243 "\u0000\u0515\u0517\u0003\u00cae\u0000\u0516\u0514\u0001\u0000\u0000\u0000"+
55244 "\u0517\u051a\u0001\u0000\u0000\u0000\u0518\u0516\u0001\u0000\u0000\u0000"+
55245 "\u0518\u0519\u0001\u0000\u0000\u0000\u0519\u051b\u0001\u0000\u0000\u0000"+
55246 "\u051a\u0518\u0001\u0000\u0000\u0000\u051b\u051c\u0005 \u0000\u0000\u051c"+
55247 "S\u0001\u0000\u0000\u0000\u051d\u051f\u0005\u001f\u0000\u0000\u051e\u051d"+
55248 "\u0001\u0000\u0000\u0000\u051e\u051f\u0001\u0000\u0000\u0000\u051f\u0520"+
55249 "\u0001\u0000\u0000\u0000\u0520\u0525\u0003@ \u0000\u0521\u0522\u0005%"+
55250 "\u0000\u0000\u0522\u0524\u0003@ \u0000\u0523\u0521\u0001\u0000\u0000\u0000"+
55251 "\u0524\u0527\u0001\u0000\u0000\u0000\u0525\u0523\u0001\u0000\u0000\u0000"+
55252 "\u0525\u0526\u0001\u0000\u0000\u0000\u0526\u0529\u0001\u0000\u0000\u0000"+
55253 "\u0527\u0525\u0001\u0000\u0000\u0000\u0528\u052a\u0005 \u0000\u0000\u0529"+
55254 "\u0528\u0001\u0000\u0000\u0000\u0529\u052a\u0001\u0000\u0000\u0000\u052a"+
55255 "U\u0001\u0000\u0000\u0000\u052b\u052c\u0003*\u0015\u0000\u052cW\u0001"+
55256 "\u0000\u0000\u0000\u052d\u052e\u0003*\u0015\u0000\u052eY\u0001\u0000\u0000"+
55257 "\u0000\u052f\u0530\u0007\u0007\u0000\u0000\u0530[\u0001\u0000\u0000\u0000"+
55258 "\u0531\u0535\u0003*\u0015\u0000\u0532\u0535\u0005\u02d3\u0000\u0000\u0533"+
55259 "\u0535\u0005\u02da\u0000\u0000\u0534\u0531\u0001\u0000\u0000\u0000\u0534"+
55260 "\u0532\u0001\u0000\u0000\u0000\u0534\u0533\u0001\u0000\u0000\u0000\u0535"+
55261 "]\u0001\u0000\u0000\u0000\u0536\u053c\u0005\u001f\u0000\u0000\u0537\u053a"+
55262 "\u0005\u02d4\u0000\u0000\u0538\u0539\u0005%\u0000\u0000\u0539\u053b\u0005"+
55263 "\u02d4\u0000\u0000\u053a\u0538\u0001\u0000\u0000\u0000\u053a\u053b\u0001"+
55264 "\u0000\u0000\u0000\u053b\u053d\u0001\u0000\u0000\u0000\u053c\u0537\u0001"+
55265 "\u0000\u0000\u0000\u053c\u053d\u0001\u0000\u0000\u0000\u053d\u053e\u0001"+
55266 "\u0000\u0000\u0000\u053e\u053f\u0005 \u0000\u0000\u053f_\u0001\u0000\u0000"+
55267 "\u0000\u0540\u0542\u0005@\u0000\u0000\u0541\u0540\u0001\u0000\u0000\u0000"+
55268 "\u0541\u0542\u0001\u0000\u0000\u0000\u0542\u0543\u0001\u0000\u0000\u0000"+
55269 "\u0543\u0544\u0005C\u0000\u0000\u0544a\u0001\u0000\u0000\u0000\u0545\u0546"+
55270 "\u00061\uffff\uffff\u0000\u0546\u054f\u0003l6\u0000\u0547\u0548\u0003"+
55271 "j5\u0000\u0548\u0549\u0003b1\u0002\u0549\u054f\u0001\u0000\u0000\u0000"+
55272 "\u054a\u054b\u0005\u001f\u0000\u0000\u054b\u054c\u0003b1\u0000\u054c\u054d"+
55273 "\u0005 \u0000\u0000\u054d\u054f\u0001\u0000\u0000\u0000\u054e\u0545\u0001"+
55274 "\u0000\u0000\u0000\u054e\u0547\u0001\u0000\u0000\u0000\u054e\u054a\u0001"+
55275 "\u0000\u0000\u0000\u054f\u055e\u0001\u0000\u0000\u0000\u0550\u0551\n\u0005"+
55276 "\u0000\u0000\u0551\u0552\u0003d2\u0000\u0552\u0553\u0003b1\u0006\u0553"+
55277 "\u055d\u0001\u0000\u0000\u0000\u0554\u0555\n\u0004\u0000\u0000\u0555\u0556"+
55278 "\u0003f3\u0000\u0556\u0557\u0003b1\u0005\u0557\u055d\u0001\u0000\u0000"+
55279 "\u0000\u0558\u0559\n\u0003\u0000\u0000\u0559\u055a\u0003h4\u0000\u055a"+
55280 "\u055b\u0003b1\u0004\u055b\u055d\u0001\u0000\u0000\u0000\u055c\u0550\u0001"+
55281 "\u0000\u0000\u0000\u055c\u0554\u0001\u0000\u0000\u0000\u055c\u0558\u0001"+
55282 "\u0000\u0000\u0000\u055d\u0560\u0001\u0000\u0000\u0000\u055e\u055c\u0001"+
55283 "\u0000\u0000\u0000\u055e\u055f\u0001\u0000\u0000\u0000\u055fc\u0001\u0000"+
55284 "\u0000\u0000\u0560\u055e\u0001\u0000\u0000\u0000\u0561\u0562\u0007\b\u0000"+
55285 "\u0000\u0562e\u0001\u0000\u0000\u0000\u0563\u0564\u0007\t\u0000\u0000"+
55286 "\u0564g\u0001\u0000\u0000\u0000\u0565\u0567\u0005j\u0000\u0000\u0566\u0568"+
55287 "\u0005k\u0000\u0000\u0567\u0566\u0001\u0000\u0000\u0000\u0567\u0568\u0001"+
55288 "\u0000\u0000\u0000\u0568\u0569\u0001\u0000\u0000\u0000\u0569\u056a\u0005"+
55289 "O\u0000\u0000\u056a\u056b\u0005U\u0000\u0000\u056bi\u0001\u0000\u0000"+
55290 "\u0000\u056c\u056d\u0007\n\u0000\u0000\u056dk\u0001\u0000\u0000\u0000"+
55291 "\u056e\u056f\u00066\uffff\uffff\u0000\u056f\u0570\u0003p8\u0000\u0570"+
55292 "\u0585\u0001\u0000\u0000\u0000\u0571\u0572\n\u0005\u0000\u0000\u0572\u0574"+
55293 "\u0005j\u0000\u0000\u0573\u0575\u0005k\u0000\u0000\u0574\u0573\u0001\u0000"+
55294 "\u0000\u0000\u0574\u0575\u0001\u0000\u0000\u0000\u0575\u0576\u0001\u0000"+
55295 "\u0000\u0000\u0576\u0584\u0007\u000b\u0000\u0000\u0577\u0578\n\u0004\u0000"+
55296 "\u0000\u0578\u0579\u0005\u0016\u0000\u0000\u0579\u0584\u0003p8\u0000\u057a"+
55297 "\u057b\n\u0003\u0000\u0000\u057b\u057c\u0003n7\u0000\u057c\u057d\u0003"+
55298 "p8\u0000\u057d\u0584\u0001\u0000\u0000\u0000\u057e\u057f\n\u0002\u0000"+
55299 "\u0000\u057f\u0580\u0003n7\u0000\u0580\u0581\u0007\f\u0000\u0000\u0581"+
55300 "\u0582\u0003\u0304\u0182\u0000\u0582\u0584\u0001\u0000\u0000\u0000\u0583"+
55301 "\u0571\u0001\u0000\u0000\u0000\u0583\u0577\u0001\u0000\u0000\u0000\u0583"+
55302 "\u057a\u0001\u0000\u0000\u0000\u0583\u057e\u0001\u0000\u0000\u0000\u0584"+
55303 "\u0587\u0001\u0000\u0000\u0000\u0585\u0583\u0001\u0000\u0000\u0000\u0585"+
55304 "\u0586\u0001\u0000\u0000\u0000\u0586m\u0001\u0000\u0000\u0000\u0587\u0585"+
55305 "\u0001\u0000\u0000\u0000\u0588\u0589\u0007\r\u0000\u0000\u0589o\u0001"+
55306 "\u0000\u0000\u0000\u058a\u058c\u0003r9\u0000\u058b\u058d\u0005k\u0000"+
55307 "\u0000\u058c\u058b\u0001\u0000\u0000\u0000\u058c\u058d\u0001\u0000\u0000"+
55308 "\u0000\u058d\u058e\u0001\u0000\u0000\u0000\u058e\u058f\u0005q\u0000\u0000"+
55309 "\u058f\u0590\u0003\u0304\u0182\u0000\u0590\u05b6\u0001\u0000\u0000\u0000"+
55310 "\u0591\u0593\u0003r9\u0000\u0592\u0594\u0005k\u0000\u0000\u0593\u0592"+
55311 "\u0001\u0000\u0000\u0000\u0593\u0594\u0001\u0000\u0000\u0000\u0594\u0595"+
55312 "\u0001\u0000\u0000\u0000\u0595\u0596\u0005q\u0000\u0000\u0596\u0597\u0005"+
55313 "\u001f\u0000\u0000\u0597\u059c\u0003b1\u0000\u0598\u0599\u0005%\u0000"+
55314 "\u0000\u0599\u059b\u0003b1\u0000\u059a\u0598\u0001\u0000\u0000\u0000\u059b"+
55315 "\u059e\u0001\u0000\u0000\u0000\u059c\u059a\u0001\u0000\u0000\u0000\u059c"+
55316 "\u059d\u0001\u0000\u0000\u0000\u059d\u059f\u0001\u0000\u0000\u0000\u059e"+
55317 "\u059c\u0001\u0000\u0000\u0000\u059f\u05a0\u0005 \u0000\u0000\u05a0\u05b6"+
55318 "\u0001\u0000\u0000\u0000\u05a1\u05a3\u0003r9\u0000\u05a2\u05a4\u0005k"+
55319 "\u0000\u0000\u05a3\u05a2\u0001\u0000\u0000\u0000\u05a3\u05a4\u0001\u0000"+
55320 "\u0000\u0000\u05a4\u05a5\u0001\u0000\u0000\u0000\u05a5\u05a6\u0005p\u0000"+
55321 "\u0000\u05a6\u05a7\u0003r9\u0000\u05a7\u05a8\u0005h\u0000\u0000\u05a8"+
55322 "\u05a9\u0003p8\u0000\u05a9\u05b6\u0001\u0000\u0000\u0000\u05aa\u05ac\u0003"+
55323 "r9\u0000\u05ab\u05ad\u0005k\u0000\u0000\u05ac\u05ab\u0001\u0000\u0000"+
55324 "\u0000\u05ac\u05ad\u0001\u0000\u0000\u0000\u05ad\u05ae\u0001\u0000\u0000"+
55325 "\u0000\u05ae\u05af\u0005t\u0000\u0000\u05af\u05b2\u0003t:\u0000\u05b0"+
55326 "\u05b1\u0005\u00f2\u0000\u0000\u05b1\u05b3\u0003t:\u0000\u05b2\u05b0\u0001"+
55327 "\u0000\u0000\u0000\u05b2\u05b3\u0001\u0000\u0000\u0000\u05b3\u05b6\u0001"+
55328 "\u0000\u0000\u0000\u05b4\u05b6\u0003r9\u0000\u05b5\u058a\u0001\u0000\u0000"+
55329 "\u0000\u05b5\u0591\u0001\u0000\u0000\u0000\u05b5\u05a1\u0001\u0000\u0000"+
55330 "\u0000\u05b5\u05aa\u0001\u0000\u0000\u0000\u05b5\u05b4\u0001\u0000\u0000"+
55331 "\u0000\u05b6q\u0001\u0000\u0000\u0000\u05b7\u05b8\u00069\uffff\uffff\u0000"+
55332 "\u05b8\u05b9\u0003t:\u0000\u05b9\u05da\u0001\u0000\u0000\u0000\u05ba\u05bb"+
55333 "\n\u000b\u0000\u0000\u05bb\u05bc\u0005\b\u0000\u0000\u05bc\u05d9\u0003"+
55334 "r9\f\u05bd\u05be\n\n\u0000\u0000\u05be\u05bf\u0005\t\u0000\u0000\u05bf"+
55335 "\u05d9\u0003r9\u000b\u05c0\u05c1\n\t\u0000\u0000\u05c1\u05c2\u0005\n\u0000"+
55336 "\u0000\u05c2\u05d9\u0003r9\n\u05c3\u05c4\n\b\u0000\u0000\u05c4\u05c5\u0005"+
55337 "\u000b\u0000\u0000\u05c5\u05d9\u0003r9\t\u05c6\u05c7\n\u0007\u0000\u0000"+
55338 "\u05c7\u05c8\u0005\u000f\u0000\u0000\u05c8\u05d9\u0003r9\b\u05c9\u05ca"+
55339 "\n\u0006\u0000\u0000\u05ca\u05cb\u0005\u0010\u0000\u0000\u05cb\u05d9\u0003"+
55340 "r9\u0007\u05cc\u05cd\n\u0005\u0000\u0000\u05cd\u05ce\u0005\u0011\u0000"+
55341 "\u0000\u05ce\u05d9\u0003r9\u0006\u05cf\u05d0\n\u0004\u0000\u0000\u05d0"+
55342 "\u05d1\u0005\u0012\u0000\u0000\u05d1\u05d9\u0003r9\u0005\u05d2\u05d3\n"+
55343 "\u0003\u0000\u0000\u05d3\u05d4\u0005\r\u0000\u0000\u05d4\u05d9\u0003r"+
55344 "9\u0004\u05d5\u05d6\n\u0002\u0000\u0000\u05d6\u05d7\u0005\f\u0000\u0000"+
55345 "\u05d7\u05d9\u0003r9\u0003\u05d8\u05ba\u0001\u0000\u0000\u0000\u05d8\u05bd"+
55346 "\u0001\u0000\u0000\u0000\u05d8\u05c0\u0001\u0000\u0000\u0000\u05d8\u05c3"+
55347 "\u0001\u0000\u0000\u0000\u05d8\u05c6\u0001\u0000\u0000\u0000\u05d8\u05c9"+
55348 "\u0001\u0000\u0000\u0000\u05d8\u05cc\u0001\u0000\u0000\u0000\u05d8\u05cf"+
55349 "\u0001\u0000\u0000\u0000\u05d8\u05d2\u0001\u0000\u0000\u0000\u05d8\u05d5"+
55350 "\u0001\u0000\u0000\u0000\u05d9\u05dc\u0001\u0000\u0000\u0000\u05da\u05d8"+
55351 "\u0001\u0000\u0000\u0000\u05da\u05db\u0001\u0000\u0000\u0000\u05dbs\u0001"+
55352 "\u0000\u0000\u0000\u05dc\u05da\u0001\u0000\u0000\u0000\u05dd\u05de\u0006"+
55353 ":\uffff\uffff\u0000\u05de\u05ff\u0003v;\u0000\u05df\u05ff\u0003\u0018"+
55354 "\f\u0000\u05e0\u05ff\u0003\u001a\r\u0000\u05e1\u05ff\u0003H$\u0000\u05e2"+
55355 "\u05ff\u0003\u00eau\u0000\u05e3\u05e4\u0007\u000e\u0000\u0000\u05e4\u05ff"+
55356 "\u0003t:\u0006\u05e5\u05e7\u0005\u00f8\u0000\u0000\u05e6\u05e5\u0001\u0000"+
55357 "\u0000\u0000\u05e6\u05e7\u0001\u0000\u0000\u0000\u05e7\u05e8\u0001\u0000"+
55358 "\u0000\u0000\u05e8\u05e9\u0005\u001f\u0000\u0000\u05e9\u05ee\u0003b1\u0000"+
55359 "\u05ea\u05eb\u0005%\u0000\u0000\u05eb\u05ed\u0003b1\u0000\u05ec\u05ea"+
55360 "\u0001\u0000\u0000\u0000\u05ed\u05f0\u0001\u0000\u0000\u0000\u05ee\u05ec"+
55361 "\u0001\u0000\u0000\u0000\u05ee\u05ef\u0001\u0000\u0000\u0000\u05ef\u05f1"+
55362 "\u0001\u0000\u0000\u0000\u05f0\u05ee\u0001\u0000\u0000\u0000\u05f1\u05f2"+
55363 "\u0005 \u0000\u0000\u05f2\u05ff\u0001\u0000\u0000\u0000\u05f3\u05f5\u0005"+
55364 "o\u0000\u0000\u05f4\u05f3\u0001\u0000\u0000\u0000\u05f4\u05f5\u0001\u0000"+
55365 "\u0000\u0000\u05f5\u05f6\u0001\u0000\u0000\u0000\u05f6\u05ff\u0003\u0304"+
55366 "\u0182\u0000\u05f7\u05f8\u0005!\u0000\u0000\u05f8\u05f9\u0003*\u0015\u0000"+
55367 "\u05f9\u05fa\u0003b1\u0000\u05fa\u05fb\u0005\"\u0000\u0000\u05fb\u05ff"+
55368 "\u0001\u0000\u0000\u0000\u05fc\u05ff\u0003\u00a0P\u0000\u05fd\u05ff\u0003"+
55369 "\u00a6S\u0000\u05fe\u05dd\u0001\u0000\u0000\u0000\u05fe\u05df\u0001\u0000"+
55370 "\u0000\u0000\u05fe\u05e0\u0001\u0000\u0000\u0000\u05fe\u05e1\u0001\u0000"+
55371 "\u0000\u0000\u05fe\u05e2\u0001\u0000\u0000\u0000\u05fe\u05e3\u0001\u0000"+
55372 "\u0000\u0000\u05fe\u05e6\u0001\u0000\u0000\u0000\u05fe\u05f4\u0001\u0000"+
55373 "\u0000\u0000\u05fe\u05f7\u0001\u0000\u0000\u0000\u05fe\u05fc\u0001\u0000"+
55374 "\u0000\u0000\u05fe\u05fd\u0001\u0000\u0000\u0000\u05ff\u0605\u0001\u0000"+
55375 "\u0000\u0000\u0600\u0601\n\u0007\u0000\u0000\u0601\u0602\u0005\u0005\u0000"+
55376 "\u0000\u0602\u0604\u0003t:\b\u0603\u0600\u0001\u0000\u0000\u0000\u0604"+
55377 "\u0607\u0001\u0000\u0000\u0000\u0605\u0603\u0001\u0000\u0000\u0000\u0605"+
55378 "\u0606\u0001\u0000\u0000\u0000\u0606u\u0001\u0000\u0000\u0000\u0607\u0605"+
55379 "\u0001\u0000\u0000\u0000\u0608\u060c\u0003x<\u0000\u0609\u060c\u0003~"+
55380 "?\u0000\u060a\u060c\u0003\u009cN\u0000\u060b\u0608\u0001\u0000\u0000\u0000"+
55381 "\u060b\u0609\u0001\u0000\u0000\u0000\u060b\u060a\u0001\u0000\u0000\u0000"+
55382 "\u060cw\u0001\u0000\u0000\u0000\u060d\u060e\u0003z=\u0000\u060e\u0610"+
55383 "\u0005\u001f\u0000\u0000\u060f\u0611\u0003|>\u0000\u0610\u060f\u0001\u0000"+
55384 "\u0000\u0000\u0610\u0611\u0001\u0000\u0000\u0000\u0611\u061b\u0001\u0000"+
55385 "\u0000\u0000\u0612\u0617\u0003b1\u0000\u0613\u0614\u0005%\u0000\u0000"+
55386 "\u0614\u0616\u0003b1\u0000\u0615\u0613\u0001\u0000\u0000\u0000\u0616\u0619"+
55387 "\u0001\u0000\u0000\u0000\u0617\u0615\u0001\u0000\u0000\u0000\u0617\u0618"+
55388 "\u0001\u0000\u0000\u0000\u0618\u061c\u0001\u0000\u0000\u0000\u0619\u0617"+
55389 "\u0001\u0000\u0000\u0000\u061a\u061c\u0005\u0011\u0000\u0000\u061b\u0612"+
55390 "\u0001\u0000\u0000\u0000\u061b\u061a\u0001\u0000\u0000\u0000\u061b\u061c"+
55391 "\u0001\u0000\u0000\u0000\u061c\u061d\u0001\u0000\u0000\u0000\u061d\u061e"+
55392 "\u0005 \u0000\u0000\u061ey\u0001\u0000\u0000\u0000\u061f\u0620\u0007\u000f"+
55393 "\u0000\u0000\u0620{\u0001\u0000\u0000\u0000\u0621\u0622\u0005O\u0000\u0000"+
55394 "\u0622}\u0001\u0000\u0000\u0000\u0623\u062b\u0003\u0082A\u0000\u0624\u062b"+
55395 "\u0003\u0092I\u0000\u0625\u062b\u0003\u0094J\u0000\u0626\u062b\u0003\u0088"+
55396 "D\u0000\u0627\u062b\u0003\u009aM\u0000\u0628\u062b\u0003\u00b6[\u0000"+
55397 "\u0629\u062b\u0003\u0080@\u0000\u062a\u0623\u0001\u0000\u0000\u0000\u062a"+
55398 "\u0624\u0001\u0000\u0000\u0000\u062a\u0625\u0001\u0000\u0000\u0000\u062a"+
55399 "\u0626\u0001\u0000\u0000\u0000\u062a\u0627\u0001\u0000\u0000\u0000\u062a"+
55400 "\u0628\u0001\u0000\u0000\u0000\u062a\u0629\u0001\u0000\u0000\u0000\u062b"+
55401 "\u007f\u0001\u0000\u0000\u0000\u062c\u062d\u0007\u0010\u0000\u0000\u062d"+
55402 "\u062e\u0005\u001f\u0000\u0000\u062e\u062f\u0003b1\u0000\u062f\u0630\u0005"+
55403 " \u0000\u0000\u0630\u0631\u0005\u00ef\u0000\u0000\u0631\u0632\u0005v\u0000"+
55404 "\u0000\u0632\u0633\u0005\u001f\u0000\u0000\u0633\u0634\u0005u\u0000\u0000"+
55405 "\u0634\u0635\u0005w\u0000\u0000\u0635\u0637\u0003b1\u0000\u0636\u0638"+
55406 "\u0007\u0011\u0000\u0000\u0637\u0636\u0001\u0000\u0000\u0000\u0637\u0638"+
55407 "\u0001\u0000\u0000\u0000\u0638\u0639\u0001\u0000\u0000\u0000\u0639\u063a"+
55408 "\u0005 \u0000\u0000\u063a\u0081\u0001\u0000\u0000\u0000\u063b\u063e\u0003"+
55409 "\u0084B\u0000\u063c\u063e\u0003\u0086C\u0000\u063d\u063b\u0001\u0000\u0000"+
55410 "\u0000\u063d\u063c\u0001\u0000\u0000\u0000\u063e\u0083\u0001\u0000\u0000"+
55411 "\u0000\u063f\u0640\u0007\u0012\u0000\u0000\u0640\u0641\u0005\u001f\u0000"+
55412 "\u0000\u0641\u0642\u0003b1\u0000\u0642\u0643\u0005`\u0000\u0000\u0643"+
55413 "\u0644\u0003\u00acV\u0000\u0644\u0645\u0005 \u0000\u0000\u0645\u0085\u0001"+
55414 "\u0000\u0000\u0000\u0646\u0647\u0007\u0013\u0000\u0000\u0647\u0648\u0005"+
55415 "\u001f\u0000\u0000\u0648\u0649\u0003\u00acV\u0000\u0649\u064a\u0005%\u0000"+
55416 "\u0000\u064a\u064d\u0003b1\u0000\u064b\u064c\u0005%\u0000\u0000\u064c"+
55417 "\u064e\u0005\u02d4\u0000\u0000\u064d\u064b\u0001\u0000\u0000\u0000\u064d"+
55418 "\u064e\u0001\u0000\u0000\u0000\u064e\u064f\u0001\u0000\u0000\u0000\u064f"+
55419 "\u0650\u0005 \u0000\u0000\u0650\u0087\u0001\u0000\u0000\u0000\u0651\u0654"+
55420 "\u0003\u008aE\u0000\u0652\u0654\u0003\u008cF\u0000\u0653\u0651\u0001\u0000"+
55421 "\u0000\u0000\u0653\u0652\u0001\u0000\u0000\u0000\u0654\u0089\u0001\u0000"+
55422 "\u0000\u0000\u0655\u0656\u0005\u00e9\u0000\u0000\u0656\u0662\u0005\u001f"+
55423 "\u0000\u0000\u0657\u065c\u0003\u008eG\u0000\u0658\u0659\u0005%\u0000\u0000"+
55424 "\u0659\u065b\u0003\u008eG\u0000\u065a\u0658\u0001\u0000\u0000\u0000\u065b"+
55425 "\u065e\u0001\u0000\u0000\u0000\u065c\u065a\u0001\u0000\u0000\u0000\u065c"+
55426 "\u065d\u0001\u0000\u0000\u0000\u065d\u0660\u0001\u0000\u0000\u0000\u065e"+
55427 "\u065c\u0001\u0000\u0000\u0000\u065f\u0661\u0003\u0090H\u0000\u0660\u065f"+
55428 "\u0001\u0000\u0000\u0000\u0660\u0661\u0001\u0000\u0000\u0000\u0661\u0663"+
55429 "\u0001\u0000\u0000\u0000\u0662\u0657\u0001\u0000\u0000\u0000\u0662\u0663"+
55430 "\u0001\u0000\u0000\u0000\u0663\u0664\u0001\u0000\u0000\u0000\u0664\u0665"+
55431 "\u0005 \u0000\u0000\u0665\u008b\u0001\u0000\u0000\u0000\u0666\u0667\u0005"+
55432 "\u00ea\u0000\u0000\u0667\u0668\u0005\u001f\u0000\u0000\u0668\u066d\u0003"+
55433 "b1\u0000\u0669\u066a\u0005%\u0000\u0000\u066a\u066c\u0003b1\u0000\u066b"+
55434 "\u0669\u0001\u0000\u0000\u0000\u066c\u066f\u0001\u0000\u0000\u0000\u066d"+
55435 "\u066b\u0001\u0000\u0000\u0000\u066d\u066e\u0001\u0000\u0000\u0000\u066e"+
55436 "\u0671\u0001\u0000\u0000\u0000\u066f\u066d\u0001\u0000\u0000\u0000\u0670"+
55437 "\u0672\u0003\u0090H\u0000\u0671\u0670\u0001\u0000\u0000\u0000\u0671\u0672"+
55438 "\u0001\u0000\u0000\u0000\u0672\u0673\u0001\u0000\u0000\u0000\u0673\u0674"+
55439 "\u0005 \u0000\u0000\u0674\u008d\u0001\u0000\u0000\u0000\u0675\u0676\u0003"+
55440 "b1\u0000\u0676\u0677\u0005\u000e\u0000\u0000\u0677\u0678\u0003b1\u0000"+
55441 "\u0678\u008f\u0001\u0000\u0000\u0000\u0679\u067a\u0005l\u0000\u0000\u067a"+
55442 "\u067b\u0005a\u0000\u0000\u067b\u0680\u0005l\u0000\u0000\u067c\u067d\u0005"+
55443 "\u02bd\u0000\u0000\u067d\u067e\u0005a\u0000\u0000\u067e\u0680\u0005l\u0000"+
55444 "\u0000\u067f\u0679\u0001\u0000\u0000\u0000\u067f\u067c\u0001\u0000\u0000"+
55445 "\u0000\u0680\u0091\u0001\u0000\u0000\u0000\u0681\u0682\u0005\u0083\u0000"+
55446 "\u0000\u0682\u0683\u0005\u001f\u0000\u0000\u0683\u0688\u0003b1\u0000\u0684"+
55447 "\u0685\u0005%\u0000\u0000\u0685\u0687\u0003b1\u0000\u0686\u0684\u0001"+
55448 "\u0000\u0000\u0000\u0687\u068a\u0001\u0000\u0000\u0000\u0688\u0686\u0001"+
55449 "\u0000\u0000\u0000\u0688\u0689\u0001\u0000\u0000\u0000\u0689\u068d\u0001"+
55450 "\u0000\u0000\u0000\u068a\u0688\u0001\u0000\u0000\u0000\u068b\u068c\u0005"+
55451 "^\u0000\u0000\u068c\u068e\u0003\u00e4r\u0000\u068d\u068b\u0001\u0000\u0000"+
55452 "\u0000\u068d\u068e\u0001\u0000\u0000\u0000\u068e\u068f\u0001\u0000\u0000"+
55453 "\u0000\u068f\u0690\u0005 \u0000\u0000\u0690\u0093\u0001\u0000\u0000\u0000"+
55454 "\u0691\u0692\u0005\u02cd\u0000\u0000\u0692\u0693\u0005\u001f\u0000\u0000"+
55455 "\u0693\u0696\u0003b1\u0000\u0694\u0695\u0005%\u0000\u0000\u0695\u0697"+
55456 "\u0003b1\u0000\u0696\u0694\u0001\u0000\u0000\u0000\u0696\u0697\u0001\u0000"+
55457 "\u0000\u0000\u0697\u0698\u0001\u0000\u0000\u0000\u0698\u069a\u0005 \u0000"+
55458 "\u0000\u0699\u069b\u0003\u0096K\u0000\u069a\u0699\u0001\u0000\u0000\u0000"+
55459 "\u069a\u069b\u0001\u0000\u0000\u0000\u069b\u0095\u0001\u0000\u0000\u0000"+
55460 "\u069c\u069d\u0005M\u0000\u0000\u069d\u069e\u0005\u001f\u0000\u0000\u069e"+
55461 "\u06a3\u0003\u0098L\u0000\u069f\u06a0\u0005%\u0000\u0000\u06a0\u06a2\u0003"+
55462 "\u0098L\u0000\u06a1\u069f\u0001\u0000\u0000\u0000\u06a2\u06a5\u0001\u0000"+
55463 "\u0000\u0000\u06a3\u06a1\u0001\u0000\u0000\u0000\u06a3\u06a4\u0001\u0000"+
55464 "\u0000\u0000\u06a4\u06a6\u0001\u0000\u0000\u0000\u06a5\u06a3\u0001\u0000"+
55465 "\u0000\u0000\u06a6\u06a7\u0005 \u0000\u0000\u06a7\u0097\u0001\u0000\u0000"+
55466 "\u0000\u06a8\u06a9\u0003H$\u0000\u06a9\u06ab\u0003\u00acV\u0000\u06aa"+
55467 "\u06ac\u0003b1\u0000\u06ab\u06aa\u0001\u0000\u0000\u0000\u06ab\u06ac\u0001"+
55468 "\u0000\u0000\u0000\u06ac\u06af\u0001\u0000\u0000\u0000\u06ad\u06ae\u0005"+
55469 "`\u0000\u0000\u06ae\u06b0\u0005\u02c2\u0000\u0000\u06af\u06ad\u0001\u0000"+
55470 "\u0000\u0000\u06af\u06b0\u0001\u0000\u0000\u0000\u06b0\u0099\u0001\u0000"+
55471 "\u0000\u0000\u06b1\u06b2\u0005\u02ce\u0000\u0000\u06b2\u06b3\u0005\u001f"+
55472 "\u0000\u0000\u06b3\u06b4\u0003b1\u0000\u06b4\u06bc\u0005%\u0000\u0000"+
55473 "\u06b5\u06b6\u0003b1\u0000\u06b6\u06b7\u0005+\u0000\u0000\u06b7\u06b8"+
55474 "\u0003b1\u0000\u06b8\u06b9\u0005+\u0000\u0000\u06b9\u06ba\u0003b1\u0000"+
55475 "\u06ba\u06bd\u0001\u0000\u0000\u0000\u06bb\u06bd\u0003b1\u0000\u06bc\u06b5"+
55476 "\u0001\u0000\u0000\u0000\u06bc\u06bb\u0001\u0000\u0000\u0000\u06bd\u06be"+
55477 "\u0001\u0000\u0000\u0000\u06be\u06c1\u0005%\u0000\u0000\u06bf\u06c2\u0003"+
55478 "@ \u0000\u06c0\u06c2\u0003b1\u0000\u06c1\u06bf\u0001\u0000\u0000\u0000"+
55479 "\u06c1\u06c0\u0001\u0000\u0000\u0000\u06c2\u06c3\u0001\u0000\u0000\u0000"+
55480 "\u06c3\u06c4\u0005 \u0000\u0000\u06c4\u06d3\u0001\u0000\u0000\u0000\u06c5"+
55481 "\u06c6\u0005\u02ce\u0000\u0000\u06c6\u06c7\u0005\u001f\u0000\u0000\u06c7"+
55482 "\u06c8\u0005\u016b\u0000\u0000\u06c8\u06cd\u0003b1\u0000\u06c9\u06ca\u0005"+
55483 "%\u0000\u0000\u06ca\u06cc\u0003b1\u0000\u06cb\u06c9\u0001\u0000\u0000"+
55484 "\u0000\u06cc\u06cf\u0001\u0000\u0000\u0000\u06cd\u06cb\u0001\u0000\u0000"+
55485 "\u0000\u06cd\u06ce\u0001\u0000\u0000\u0000\u06ce\u06d0\u0001\u0000\u0000"+
55486 "\u0000\u06cf\u06cd\u0001\u0000\u0000\u0000\u06d0\u06d1\u0005 \u0000\u0000"+
55487 "\u06d1\u06d3\u0001\u0000\u0000\u0000\u06d2\u06b1\u0001\u0000\u0000\u0000"+
55488 "\u06d2\u06c5\u0001\u0000\u0000\u0000\u06d3\u009b\u0001\u0000\u0000\u0000"+
55489 "\u06d4\u06d5\u0003\u009eO\u0000\u06d5\u06df\u0005\u001f\u0000\u0000\u06d6"+
55490 "\u06db\u0003b1\u0000\u06d7\u06d8\u0005%\u0000\u0000\u06d8\u06da\u0003"+
55491 "b1\u0000\u06d9\u06d7\u0001\u0000\u0000\u0000\u06da\u06dd\u0001\u0000\u0000"+
55492 "\u0000\u06db\u06d9\u0001\u0000\u0000\u0000\u06db\u06dc\u0001\u0000\u0000"+
55493 "\u0000\u06dc\u06e0\u0001\u0000\u0000\u0000\u06dd\u06db\u0001\u0000\u0000"+
55494 "\u0000\u06de\u06e0\u0005\u0011\u0000\u0000\u06df\u06d6\u0001\u0000\u0000"+
55495 "\u0000\u06df\u06de\u0001\u0000\u0000\u0000\u06df\u06e0\u0001\u0000\u0000"+
55496 "\u0000\u06e0\u06e1\u0001\u0000\u0000\u0000\u06e1\u06e2\u0005 \u0000\u0000"+
55497 "\u06e2\u009d\u0001\u0000\u0000\u0000\u06e3\u06e4\u0003L&\u0000\u06e4\u06e5"+
55498 "\u0005\u0014\u0000\u0000\u06e5\u06e7\u0001\u0000\u0000\u0000\u06e6\u06e3"+
55499 "\u0001\u0000\u0000\u0000\u06e6\u06e7\u0001\u0000\u0000\u0000\u06e7\u06e8"+
55500 "\u0001\u0000\u0000\u0000\u06e8\u06ee\u0003*\u0015\u0000\u06e9\u06ee\u0005"+
55501 "c\u0000\u0000\u06ea\u06ee\u0005\u008a\u0000\u0000\u06eb\u06ee\u0005\u008b"+
55502 "\u0000\u0000\u06ec\u06ee\u0005\u0086\u0000\u0000\u06ed\u06e6\u0001\u0000"+
55503 "\u0000\u0000\u06ed\u06e9\u0001\u0000\u0000\u0000\u06ed\u06ea\u0001\u0000"+
55504 "\u0000\u0000\u06ed\u06eb\u0001\u0000\u0000\u0000\u06ed\u06ec\u0001\u0000"+
55505 "\u0000\u0000\u06ee\u009f\u0001\u0000\u0000\u0000\u06ef\u06f1\u0005P\u0000"+
55506 "\u0000\u06f0\u06f2\u0003t:\u0000\u06f1\u06f0\u0001\u0000\u0000\u0000\u06f1"+
55507 "\u06f2\u0001\u0000\u0000\u0000\u06f2\u06f4\u0001\u0000\u0000\u0000\u06f3"+
55508 "\u06f5\u0003\u00a2Q\u0000\u06f4\u06f3\u0001\u0000\u0000\u0000\u06f5\u06f6"+
55509 "\u0001\u0000\u0000\u0000\u06f6\u06f4\u0001\u0000\u0000\u0000\u06f6\u06f7"+
55510 "\u0001\u0000\u0000\u0000\u06f7\u06f9\u0001\u0000\u0000\u0000\u06f8\u06fa"+
55511 "\u0003\u00a4R\u0000\u06f9\u06f8\u0001\u0000\u0000\u0000\u06f9\u06fa\u0001"+
55512 "\u0000\u0000\u0000\u06fa\u06fb\u0001\u0000\u0000\u0000\u06fb\u06fc\u0005"+
55513 "\u011d\u0000\u0000\u06fc\u00a1\u0001\u0000\u0000\u0000\u06fd\u06fe\u0005"+
55514 "Q\u0000\u0000\u06fe\u06ff\u0003b1\u0000\u06ff\u0700\u0005e\u0000\u0000"+
55515 "\u0700\u0701\u0003b1\u0000\u0701\u00a3\u0001\u0000\u0000\u0000\u0702\u0703"+
55516 "\u0005d\u0000\u0000\u0703\u0704\u0003b1\u0000\u0704\u00a5\u0001\u0000"+
55517 "\u0000\u0000\u0705\u070a\u0003\u00b6[\u0000\u0706\u070a\u0003\u00b0X\u0000"+
55518 "\u0707\u070a\u0003\u00b2Y\u0000\u0708\u070a\u0003\u00b4Z\u0000\u0709\u0705"+
55519 "\u0001\u0000\u0000\u0000\u0709\u0706\u0001\u0000\u0000\u0000\u0709\u0707"+
55520 "\u0001\u0000\u0000\u0000\u0709\u0708\u0001\u0000\u0000\u0000\u070a\u00a7"+
55521 "\u0001\u0000\u0000\u0000\u070b\u070c\u0005u\u0000\u0000\u070c\u070d\u0005"+
55522 "w\u0000\u0000\u070d\u0712\u0003\u00aaU\u0000\u070e\u070f\u0005%\u0000"+
55523 "\u0000\u070f\u0711\u0003\u00aaU\u0000\u0710\u070e\u0001\u0000\u0000\u0000"+
55524 "\u0711\u0714\u0001\u0000\u0000\u0000\u0712\u0710\u0001\u0000\u0000\u0000"+
55525 "\u0712\u0713\u0001\u0000\u0000\u0000\u0713\u0720\u0001\u0000\u0000\u0000"+
55526 "\u0714\u0712\u0001\u0000\u0000\u0000\u0715\u0716\u0005|\u0000\u0000\u0716"+
55527 "\u0717\u0003b1\u0000\u0717\u071e\u0007\u0014\u0000\u0000\u0718\u0719\u0005"+
55528 "\u01be\u0000\u0000\u0719\u071a\u0007\u0015\u0000\u0000\u071a\u071b\u0003"+
55529 "b1\u0000\u071b\u071c\u0007\u0014\u0000\u0000\u071c\u071d\u0005\u01c0\u0000"+
55530 "\u0000\u071d\u071f\u0001\u0000\u0000\u0000\u071e\u0718\u0001\u0000\u0000"+
55531 "\u0000\u071e\u071f\u0001\u0000\u0000\u0000\u071f\u0721\u0001\u0000\u0000"+
55532 "\u0000\u0720\u0715\u0001\u0000\u0000\u0000\u0720\u0721\u0001\u0000\u0000"+
55533 "\u0000\u0721\u00a9\u0001\u0000\u0000\u0000\u0722\u0726\u0003H$\u0000\u0723"+
55534 "\u0726\u0003\u001e\u000f\u0000\u0724\u0726\u0003b1\u0000\u0725\u0722\u0001"+
55535 "\u0000\u0000\u0000\u0725\u0723\u0001\u0000\u0000\u0000\u0725\u0724\u0001"+
55536 "\u0000\u0000\u0000\u0726\u0729\u0001\u0000\u0000\u0000\u0727\u0728\u0005"+
55537 "\u010e\u0000\u0000\u0728\u072a\u0003*\u0015\u0000\u0729\u0727\u0001\u0000"+
55538 "\u0000\u0000\u0729\u072a\u0001\u0000\u0000\u0000\u072a\u072c\u0001\u0000"+
55539 "\u0000\u0000\u072b\u072d\u0007\u0011\u0000\u0000\u072c\u072b\u0001\u0000"+
55540 "\u0000\u0000\u072c\u072d\u0001\u0000\u0000\u0000\u072d\u00ab\u0001\u0000"+
55541 "\u0000\u0000\u072e\u072f\u0003\u00e4r\u0000\u072f\u0730\u0005\u0014\u0000"+
55542 "\u0000\u0730\u0732\u0001\u0000\u0000\u0000\u0731\u072e\u0001\u0000\u0000"+
55543 "\u0000\u0731\u0732\u0001\u0000\u0000\u0000\u0732\u0733\u0001\u0000\u0000"+
55544 "\u0000\u0733\u073f\u0003\u00aeW\u0000\u0734\u0740\u0003^/\u0000\u0735"+
55545 "\u0736\u0005\u001f\u0000\u0000\u0736\u0737\u0005\u0095\u0000\u0000\u0737"+
55546 "\u0740\u0005 \u0000\u0000\u0738\u073a\u0005\u001f\u0000\u0000\u0739\u073b"+
55547 "\u0007\u0016\u0000\u0000\u073a\u0739\u0001\u0000\u0000\u0000\u073a\u073b"+
55548 "\u0001\u0000\u0000\u0000\u073b\u073c\u0001\u0000\u0000\u0000\u073c\u073d"+
55549 "\u0003\u00e4r\u0000\u073d\u073e\u0005 \u0000\u0000\u073e\u0740\u0001\u0000"+
55550 "\u0000\u0000\u073f\u0734\u0001\u0000\u0000\u0000\u073f\u0735\u0001\u0000"+
55551 "\u0000\u0000\u073f\u0738\u0001\u0000\u0000\u0000\u073f\u0740\u0001\u0000"+
55552 "\u0000\u0000\u0740\u00ad\u0001\u0000\u0000\u0000\u0741\u0742\u0007\u0017"+
55553 "\u0000\u0000\u0742\u00af\u0001\u0000\u0000\u0000\u0743\u0747\u0005\u02d1"+
55554 "\u0000\u0000\u0744\u0745\u0005M\u0000\u0000\u0745\u0746\u0005\u0088\u0000"+
55555 "\u0000\u0746\u0748\u0005\u0144\u0000\u0000\u0747\u0744\u0001\u0000\u0000"+
55556 "\u0000\u0747\u0748\u0001\u0000\u0000\u0000\u0748\u0749\u0001\u0000\u0000"+
55557 "\u0000\u0749\u074a\u0005\u02d3\u0000\u0000\u074a\u00b1\u0001\u0000\u0000"+
55558 "\u0000\u074b\u074c\u0005R\u0000\u0000\u074c\u074d\u0005\u001f\u0000\u0000"+
55559 "\u074d\u074e\u0003b1\u0000\u074e\u074f\u0005`\u0000\u0000\u074f\u0753"+
55560 "\u0003\u00acV\u0000\u0750\u0751\u0005\u001f\u0000\u0000\u0751\u0752\u0005"+
55561 "\u02d4\u0000\u0000\u0752\u0754\u0005 \u0000\u0000\u0753\u0750\u0001\u0000"+
55562 "\u0000\u0000\u0753\u0754\u0001\u0000\u0000\u0000\u0754\u0755\u0001\u0000"+
55563 "\u0000\u0000\u0755\u0756\u0005 \u0000\u0000\u0756\u00b3\u0001\u0000\u0000"+
55564 "\u0000\u0757\u0758\u0005\u0111\u0000\u0000\u0758\u075c\u0003\u00acV\u0000"+
55565 "\u0759\u075a\u0005\u001f\u0000\u0000\u075a\u075b\u0005\u02d4\u0000\u0000"+
55566 "\u075b\u075d\u0005 \u0000\u0000\u075c\u0759\u0001\u0000\u0000\u0000\u075c"+
55567 "\u075d\u0001\u0000\u0000\u0000\u075d\u075e\u0001\u0000\u0000\u0000\u075e"+
55568 "\u075f\u0005%\u0000\u0000\u075f\u0762\u0003b1\u0000\u0760\u0761\u0005"+
55569 "%\u0000\u0000\u0761\u0763\u0005\u02d4\u0000\u0000\u0762\u0760\u0001\u0000"+
55570 "\u0000\u0000\u0762\u0763\u0001\u0000\u0000\u0000\u0763\u00b5\u0001\u0000"+
55571 "\u0000\u0000\u0764\u0765\u0007\u0018\u0000\u0000\u0765\u0766\u0005\u001f"+
55572 "\u0000\u0000\u0766\u0767\u0003b1\u0000\u0767\u0769\u0005 \u0000\u0000"+
55573 "\u0768\u076a\u0003\u00b8\\\u0000\u0769\u0768\u0001\u0000\u0000\u0000\u0769"+
55574 "\u076a\u0001\u0000\u0000\u0000\u076a\u076b\u0001\u0000\u0000\u0000\u076b"+
55575 "\u076c\u0003\u00ba]\u0000\u076c\u00b7\u0001\u0000\u0000\u0000\u076d\u076e"+
55576 "\u0007\u0019\u0000\u0000\u076e\u076f\u0005\u02dd\u0000\u0000\u076f\u00b9"+
55577 "\u0001\u0000\u0000\u0000\u0770\u0771\u0005\u0131\u0000\u0000\u0771\u0773"+
55578 "\u0005\u001f\u0000\u0000\u0772\u0774\u0003\u00bc^\u0000\u0773\u0772\u0001"+
55579 "\u0000\u0000\u0000\u0773\u0774\u0001\u0000\u0000\u0000\u0774\u0776\u0001"+
55580 "\u0000\u0000\u0000\u0775\u0777\u0003\u00a8T\u0000\u0776\u0775\u0001\u0000"+
55581 "\u0000\u0000\u0776\u0777\u0001\u0000\u0000\u0000\u0777\u0779\u0001\u0000"+
55582 "\u0000\u0000\u0778\u077a\u0003\u00be_\u0000\u0779\u0778\u0001\u0000\u0000"+
55583 "\u0000\u0779\u077a\u0001\u0000\u0000\u0000\u077a\u077b\u0001\u0000\u0000"+
55584 "\u0000\u077b\u077c\u0005 \u0000\u0000\u077c\u00bb\u0001\u0000\u0000\u0000"+
55585 "\u077d\u077e\u0005\u00f5\u0000\u0000\u077e\u077f\u0005w\u0000\u0000\u077f"+
55586 "\u0784\u0003b1\u0000\u0780\u0781\u0005%\u0000\u0000\u0781\u0783\u0003"+
55587 "b1\u0000\u0782\u0780\u0001\u0000\u0000\u0000\u0783\u0786\u0001\u0000\u0000"+
55588 "\u0000\u0784\u0782\u0001\u0000\u0000\u0000\u0784\u0785\u0001\u0000\u0000"+
55589 "\u0000\u0785\u00bd\u0001\u0000\u0000\u0000\u0786\u0784\u0001\u0000\u0000"+
55590 "\u0000\u0787\u0788\u0007\u001a\u0000\u0000\u0788\u0789\u0003\u00c0`\u0000"+
55591 "\u0789\u00bf\u0001\u0000\u0000\u0000\u078a\u078d\u0003\u00c6c\u0000\u078b"+
55592 "\u078d\u0003\u00c2a\u0000\u078c\u078a\u0001\u0000\u0000\u0000\u078c\u078b"+
55593 "\u0001\u0000\u0000\u0000\u078d\u00c1\u0001\u0000\u0000\u0000\u078e\u078f"+
55594 "\u0005p\u0000\u0000\u078f\u0790\u0003\u00c4b\u0000\u0790\u0791\u0005h"+
55595 "\u0000\u0000\u0791\u0792\u0003\u00c4b\u0000\u0792\u00c3\u0001\u0000\u0000"+
55596 "\u0000\u0793\u0796\u0003\u00c6c\u0000\u0794\u0796\u0003\u00c8d\u0000\u0795"+
55597 "\u0793\u0001\u0000\u0000\u0000\u0795\u0794\u0001\u0000\u0000\u0000\u0796"+
55598 "\u00c5\u0001\u0000\u0000\u0000\u0797\u0798\u0005\u0127\u0000\u0000\u0798"+
55599 "\u079e\u0005\u0136\u0000\u0000\u0799\u079a\u0005\u02d4\u0000\u0000\u079a"+
55600 "\u079e\u0005\u0136\u0000\u0000\u079b\u079c\u0005\u009b\u0000\u0000\u079c"+
55601 "\u079e\u0005\u00f8\u0000\u0000\u079d\u0797\u0001\u0000\u0000\u0000\u079d"+
55602 "\u0799\u0001\u0000\u0000\u0000\u079d\u079b\u0001\u0000\u0000\u0000\u079e"+
55603 "\u00c7\u0001\u0000\u0000\u0000\u079f\u07a0\u0005\u0127\u0000\u0000\u07a0"+
55604 "\u07a6\u0005\u0121\u0000\u0000\u07a1\u07a2\u0005\u02d4\u0000\u0000\u07a2"+
55605 "\u07a6\u0005\u0121\u0000\u0000\u07a3\u07a4\u0005\u009b\u0000\u0000\u07a4"+
55606 "\u07a6\u0005\u00f8\u0000\u0000\u07a5\u079f\u0001\u0000\u0000\u0000\u07a5"+
55607 "\u07a1\u0001\u0000\u0000\u0000\u07a5\u07a3\u0001\u0000\u0000\u0000\u07a6"+
55608 "\u00c9\u0001\u0000\u0000\u0000\u07a7\u07a9\u0003H$\u0000\u07a8\u07aa\u0007"+
55609 "\u0011\u0000\u0000\u07a9\u07a8\u0001\u0000\u0000\u0000\u07a9\u07aa\u0001"+
55610 "\u0000\u0000\u0000\u07aa\u00cb\u0001\u0000\u0000\u0000\u07ab\u07ac\u0005"+
55611 "\u0120\u0000\u0000\u07ac\u07ad\u0005\u0018\u0000\u0000\u07ad\u07b9\u0005"+
55612 "\u02d4\u0000\u0000\u07ae\u07b9\u0003\u00d2i\u0000\u07af\u07b0\u0007\u001b"+
55613 "\u0000\u0000\u07b0\u07b9\u0003\u00d0h\u0000\u07b1\u07b2\u0005\u012b\u0000"+
55614 "\u0000\u07b2\u07b3\u0005\u0018\u0000\u0000\u07b3\u07b9\u0005\u02d4\u0000"+
55615 "\u0000\u07b4\u07b6\u0003\u00ceg\u0000\u07b5\u07b7\u0003\u00d8l\u0000\u07b6"+
55616 "\u07b5\u0001\u0000\u0000\u0000\u07b6\u07b7\u0001\u0000\u0000\u0000\u07b7"+
55617 "\u07b9\u0001\u0000\u0000\u0000\u07b8\u07ab\u0001\u0000\u0000\u0000\u07b8"+
55618 "\u07ae\u0001\u0000\u0000\u0000\u07b8\u07af\u0001\u0000\u0000\u0000\u07b8"+
55619 "\u07b1\u0001\u0000\u0000\u0000\u07b8\u07b4\u0001\u0000\u0000\u0000\u07b9"+
55620 "\u00cd\u0001\u0000\u0000\u0000\u07ba\u07bb\u0005\u019e\u0000\u0000\u07bb"+
55621 "\u07bc\u0005\u0018\u0000\u0000\u07bc\u07bd\u0007\u001c\u0000\u0000\u07bd"+
55622 "\u00cf\u0001\u0000\u0000\u0000\u07be\u07bf\u0005\u0018\u0000\u0000\u07bf"+
55623 "\u07c1\u0005\u02d4\u0000\u0000\u07c0\u07c2\u0005\u0116\u0000\u0000\u07c1"+
55624 "\u07c0\u0001\u0000\u0000\u0000\u07c1\u07c2\u0001\u0000\u0000\u0000\u07c2"+
55625 "\u00d1\u0001\u0000\u0000\u0000\u07c3\u07c4\u0003\u00d4j\u0000\u07c4\u07c5"+
55626 "\u0003\u00d6k\u0000\u07c5\u00d3\u0001\u0000\u0000\u0000\u07c6\u07c7\u0007"+
55627 "\u001d\u0000\u0000\u07c7\u00d5\u0001\u0000\u0000\u0000\u07c8\u07c9\u0005"+
55628 "\u0018\u0000\u0000\u07c9\u07ca\u0007\u0000\u0000\u0000\u07ca\u00d7\u0001"+
55629 "\u0000\u0000\u0000\u07cb\u07cc\u0005a\u0000\u0000\u07cc\u07cd\u0005\u00f6"+
55630 "\u0000\u0000\u07cd\u07ce\u0005\u001f\u0000\u0000\u07ce\u07cf\u0003\u00da"+
55631 "m\u0000\u07cf\u07d0\u0005 \u0000\u0000\u07d0\u00d9\u0001\u0000\u0000\u0000"+
55632 "\u07d1\u07d6\u0003\u00dcn\u0000\u07d2\u07d3\u0005%\u0000\u0000\u07d3\u07d5"+
55633 "\u0003\u00dcn\u0000\u07d4\u07d2\u0001\u0000\u0000\u0000\u07d5\u07d8\u0001"+
55634 "\u0000\u0000\u0000\u07d6\u07d4\u0001\u0000\u0000\u0000\u07d6\u07d7\u0001"+
55635 "\u0000\u0000\u0000\u07d7\u00db\u0001\u0000\u0000\u0000\u07d8\u07d6\u0001"+
55636 "\u0000\u0000\u0000\u07d9\u07dc\u0005\u02d4\u0000\u0000\u07da\u07dc\u0003"+
55637 "\u00deo\u0000\u07db\u07d9\u0001\u0000\u0000\u0000\u07db\u07da\u0001\u0000"+
55638 "\u0000\u0000\u07dc\u00dd\u0001\u0000\u0000\u0000\u07dd\u07de\u0005\u02d4"+
55639 "\u0000\u0000\u07de\u07df\u0005g\u0000\u0000\u07df\u07e0\u0005\u02d4\u0000"+
55640 "\u0000\u07e0\u00df\u0001\u0000\u0000\u0000\u07e1\u07e2\u0005\u01a4\u0000"+
55641 "\u0000\u07e2\u07e3\u0005\u001f\u0000\u0000\u07e3\u07e4\u0005\u01ad\u0000"+
55642 "\u0000\u07e4\u07e5\u0005\u0018\u0000\u0000\u07e5\u07e7\u0005\u02d4\u0000"+
55643 "\u0000\u07e6\u07e8\u0005\u0116\u0000\u0000\u07e7\u07e6\u0001\u0000\u0000"+
55644 "\u0000\u07e7\u07e8\u0001\u0000\u0000\u0000\u07e8\u07e9\u0001\u0000\u0000"+
55645 "\u0000\u07e9\u07ea\u0005%\u0000\u0000\u07ea\u07eb\u0005\u0194\u0000\u0000"+
55646 "\u07eb\u07ec\u0005\u0018\u0000\u0000\u07ec\u07ed\u0007\u001e\u0000\u0000"+
55647 "\u07ed\u07ee\u0005 \u0000\u0000\u07ee\u00e1\u0001\u0000\u0000\u0000\u07ef"+
55648 "\u07f4\u0005a\u0000\u0000\u07f0\u07f1\u0005\u001f\u0000\u0000\u07f1\u07f2"+
55649 "\u0003\u00e0p\u0000\u07f2\u07f3\u0005 \u0000\u0000\u07f3\u07f5\u0001\u0000"+
55650 "\u0000\u0000\u07f4\u07f0\u0001\u0000\u0000\u0000\u07f4\u07f5\u0001\u0000"+
55651 "\u0000\u0000\u07f5\u00e3\u0001\u0000\u0000\u0000\u07f6\u07f7\u0005\u02d1"+
55652 "\u0000\u0000\u07f7\u00e5\u0001\u0000\u0000\u0000\u07f8\u07fd\u0003\u00e4"+
55653 "r\u0000\u07f9\u07fa\u0005%\u0000\u0000\u07fa\u07fc\u0003\u00e4r\u0000"+
55654 "\u07fb\u07f9\u0001\u0000\u0000\u0000\u07fc\u07ff\u0001\u0000\u0000\u0000"+
55655 "\u07fd\u07fb\u0001\u0000\u0000\u0000\u07fd\u07fe\u0001\u0000\u0000\u0000"+
55656 "\u07fe\u00e7\u0001\u0000\u0000\u0000\u07ff\u07fd\u0001\u0000\u0000\u0000"+
55657 "\u0800\u0801\u0005\u0001\u0000\u0000\u0801\u00e9\u0001\u0000\u0000\u0000"+
55658 "\u0802\u0803\u0003*\u0015\u0000\u0803\u00eb\u0001\u0000\u0000\u0000\u0804"+
55659 "\u0805\u0007\u001f\u0000\u0000\u0805\u080a\u0005`\u0000\u0000\u0806\u080b"+
55660 "\u0005\u0211\u0000\u0000\u0807\u080b\u0005\u013f\u0000\u0000\u0808\u080b"+
55661 "\u0005\u0216\u0000\u0000\u0809\u080b\u0003\u001c\u000e\u0000\u080a\u0806"+
55662 "\u0001\u0000\u0000\u0000\u080a\u0807\u0001\u0000\u0000\u0000\u080a\u0808"+
55663 "\u0001\u0000\u0000\u0000\u080a\u0809\u0001\u0000\u0000\u0000\u080b\u00ed"+
55664 "\u0001\u0000\u0000\u0000\u080c\u080d\u0003*\u0015\u0000\u080d\u00ef\u0001"+
55665 "\u0000\u0000\u0000\u080e\u080f\u0003\u00eau\u0000\u080f\u00f1\u0001\u0000"+
55666 "\u0000\u0000\u0810\u0811\u0003*\u0015\u0000\u0811\u00f3\u0001\u0000\u0000"+
55667 "\u0000\u0812\u0813\u0003\u00eau\u0000\u0813\u00f5\u0001\u0000\u0000\u0000"+
55668 "\u0814\u0815\u0007 \u0000\u0000\u0815\u00f7\u0001\u0000\u0000\u0000\u0816"+
55669 "\u0817\u0005c\u0000\u0000\u0817\u0818\u0005o\u0000\u0000\u0818\u00f9\u0001"+
55670 "\u0000\u0000\u0000\u0819\u081a\u0007!\u0000\u0000\u081a\u00fb\u0001\u0000"+
55671 "\u0000\u0000\u081b\u081c\u0005\u009e\u0000\u0000\u081c\u00fd\u0001\u0000"+
55672 "\u0000\u0000\u081d\u081f\u0005\u029c\u0000\u0000\u081e\u0820\u0005\u029d"+
55673 "\u0000\u0000\u081f\u081e\u0001\u0000\u0000\u0000\u081f\u0820\u0001\u0000"+
55674 "\u0000\u0000\u0820\u0821\u0001\u0000\u0000\u0000\u0821\u0822\u0003\u0100"+
55675 "\u0080\u0000\u0822\u00ff\u0001\u0000\u0000\u0000\u0823\u0829\u0003\u02dc"+
55676 "\u016e\u0000\u0824\u0829\u0003\u02ba\u015d\u0000\u0825\u0829\u0003\u02c8"+
55677 "\u0164\u0000\u0826\u0829\u0003\u02d2\u0169\u0000\u0827\u0829\u0003\u02b0"+
55678 "\u0158\u0000\u0828\u0823\u0001\u0000\u0000\u0000\u0828\u0824\u0001\u0000"+
55679 "\u0000\u0000\u0828\u0825\u0001\u0000\u0000\u0000\u0828\u0826\u0001\u0000"+
55680 "\u0000\u0000\u0828\u0827\u0001\u0000\u0000\u0000\u0829\u0101\u0001\u0000"+
55681 "\u0000\u0000\u082a\u082d\u0003\u0104\u0082\u0000\u082b\u082d\u0003\u02b0"+
55682 "\u0158\u0000\u082c\u082a\u0001\u0000\u0000\u0000\u082c\u082b\u0001\u0000"+
55683 "\u0000\u0000\u082d\u0103\u0001\u0000\u0000\u0000\u082e\u082f\u00052\u0000"+
55684 "\u0000\u082f\u0830\u0005;\u0000\u0000\u0830\u0831\u0003@ \u0000\u0831"+
55685 "\u0832\u0003\u014c\u00a6\u0000\u0832\u0833\u0003\u014e\u00a7\u0000\u0833"+
55686 "\u0105\u0001\u0000\u0000\u0000\u0834\u0835\u00052\u0000\u0000\u0835\u0836"+
55687 "\u0003\u01bc\u00de\u0000\u0836\u0837\u0005>\u0000\u0000\u0837\u0838\u0003"+
55688 "V+\u0000\u0838\u0839\u0005a\u0000\u0000\u0839\u083a\u0003@ \u0000\u083a"+
55689 "\u083b\u0003R)\u0000\u083b\u083c\u0003\u0262\u0131\u0000\u083c\u0107\u0001"+
55690 "\u0000\u0000\u0000\u083d\u083e\u00052\u0000\u0000\u083e\u083f\u0005\u00cc"+
55691 "\u0000\u0000\u083f\u0840\u00032\u0019\u0000\u0840\u0841\u0003\u0204\u0102"+
55692 "\u0000\u0841\u0109\u0001\u0000\u0000\u0000\u0842\u0845\u00052\u0000\u0000"+
55693 "\u0843\u0844\u0005i\u0000\u0000\u0844\u0846\u00053\u0000\u0000\u0845\u0843"+
55694 "\u0001\u0000\u0000\u0000\u0845\u0846\u0001\u0000\u0000\u0000\u0846\u0847"+
55695 "\u0001\u0000\u0000\u0000\u0847\u0848\u0005F\u0000\u0000\u0848\u0849\u0003"+
55696 "6\u001b\u0000\u0849\u084a\u0003\u0230\u0118\u0000\u084a\u084b\u0003\u0232"+
55697 "\u0119\u0000\u084b\u010b\u0001\u0000\u0000\u0000\u084c\u084f\u00052\u0000"+
55698 "\u0000\u084d\u084e\u0005i\u0000\u0000\u084e\u0850\u00053\u0000\u0000\u084f"+
55699 "\u084d\u0001\u0000\u0000\u0000\u084f\u0850\u0001\u0000\u0000\u0000\u0850"+
55700 "\u0851\u0001\u0000\u0000\u0000\u0851\u0852\u0007\"\u0000\u0000\u0852\u0853"+
55701 "\u00038\u001c\u0000\u0853\u0854\u0003\u0242\u0121\u0000\u0854\u0855\u0003"+
55702 "\u0246\u0123\u0000\u0855\u010d\u0001\u0000\u0000\u0000\u0856\u0859\u0005"+
55703 "2\u0000\u0000\u0857\u0858\u0005i\u0000\u0000\u0858\u085a\u00053\u0000"+
55704 "\u0000\u0859\u0857\u0001\u0000\u0000\u0000\u0859\u085a\u0001\u0000\u0000"+
55705 "\u0000\u085a\u085b\u0001\u0000\u0000\u0000\u085b\u085c\u0005J\u0000\u0000"+
55706 "\u085c\u085d\u0003:\u001d\u0000\u085d\u085e\u0003\u0250\u0128\u0000\u085e"+
55707 "\u010f\u0001\u0000\u0000\u0000\u085f\u0862\u00052\u0000\u0000\u0860\u0861"+
55708 "\u0005i\u0000\u0000\u0861\u0863\u00053\u0000\u0000\u0862\u0860\u0001\u0000"+
55709 "\u0000\u0000\u0862\u0863\u0001\u0000\u0000\u0000\u0863\u0864\u0001\u0000"+
55710 "\u0000\u0000\u0864\u0865\u0005G\u0000\u0000\u0865\u0866\u0003<\u001e\u0000"+
55711 "\u0866\u0867\u0005a\u0000\u0000\u0867\u0868\u0003\u025e\u012f\u0000\u0868"+
55712 "\u0869\u0003\u0258\u012c\u0000\u0869\u0111\u0001\u0000\u0000\u0000\u086a"+
55713 "\u086b\u00052\u0000\u0000\u086b\u086c\u0005\u0193\u0000\u0000\u086c\u0870"+
55714 "\u0003>\u001f\u0000\u086d\u086f\u0003\u0260\u0130\u0000\u086e\u086d\u0001"+
55715 "\u0000\u0000\u0000\u086f\u0872\u0001\u0000\u0000\u0000\u0870\u086e\u0001"+
55716 "\u0000\u0000\u0000\u0870\u0871\u0001\u0000\u0000\u0000\u0871\u0113\u0001"+
55717 "\u0000\u0000\u0000\u0872\u0870\u0001\u0000\u0000\u0000\u0873\u0874\u0005"+
55718 "2\u0000\u0000\u0874\u0875\u0005\u0172\u0000\u0000\u0875\u0878\u0003F#"+
55719 "\u0000\u0876\u0877\u0005\u029a\u0000\u0000\u0877\u0879\u0005\u02d3\u0000"+
55720 "\u0000\u0878\u0876\u0001\u0000\u0000\u0000\u0878\u0879\u0001\u0000\u0000"+
55721 "\u0000\u0879\u087a\u0001\u0000\u0000\u0000\u087a\u087b\u0005a\u0000\u0000"+
55722 "\u087b\u087c\u0005\u0186\u0000\u0000\u087c\u087e\u0003B!\u0000\u087d\u087f"+
55723 "\u0003\u02a6\u0153\u0000\u087e\u087d\u0001\u0000\u0000\u0000\u087e\u087f"+
55724 "\u0001\u0000\u0000\u0000\u087f\u0115\u0001\u0000\u0000\u0000\u0880\u0881"+
55725 "\u00052\u0000\u0000\u0881\u0882\u00056\u0000\u0000\u0882\u0886\u0003\u02ac"+
55726 "\u0156\u0000\u0883\u0885\u0003\u02ae\u0157\u0000\u0884\u0883\u0001\u0000"+
55727 "\u0000\u0000\u0885\u0888\u0001\u0000\u0000\u0000\u0886\u0884\u0001\u0000"+
55728 "\u0000\u0000\u0886\u0887\u0001\u0000\u0000\u0000\u0887\u0117\u0001\u0000"+
55729 "\u0000\u0000\u0888\u0886\u0001\u0000\u0000\u0000\u0889\u088a\u00053\u0000"+
55730 "\u0000\u088a\u088b\u0005;\u0000\u0000\u088b\u088c\u0003@ \u0000\u088c"+
55731 "\u0891\u0003\u01be\u00df\u0000\u088d\u088e\u0005%\u0000\u0000\u088e\u0890"+
55732 "\u0003\u01be\u00df\u0000\u088f\u088d\u0001\u0000\u0000\u0000\u0890\u0893"+
55733 "\u0001\u0000\u0000\u0000\u0891\u088f\u0001\u0000\u0000\u0000\u0891\u0892"+
55734 "\u0001\u0000\u0000\u0000\u0892\u0119\u0001\u0000\u0000\u0000\u0893\u0891"+
55735 "\u0001\u0000\u0000\u0000\u0894\u0895\u00053\u0000\u0000\u0895\u0898\u0005"+
55736 ">\u0000\u0000\u0896\u0899\u0003V+\u0000\u0897\u0899\u0005r\u0000\u0000"+
55737 "\u0898\u0896\u0001\u0000\u0000\u0000\u0898\u0897\u0001\u0000\u0000\u0000"+
55738 "\u0899\u089a\u0001\u0000\u0000\u0000\u089a\u089b\u0005a\u0000\u0000\u089b"+
55739 "\u089c\u0003@ \u0000\u089c\u089d\u0003\u0268\u0134\u0000\u089d\u011b\u0001"+
55740 "\u0000\u0000\u0000\u089e\u089f\u00053\u0000\u0000\u089f\u08a2\u0005\u00cc"+
55741 "\u0000\u0000\u08a0\u08a3\u00032\u0019\u0000\u08a1\u08a3\u0005\u009b\u0000"+
55742 "\u0000\u08a2\u08a0\u0001\u0000\u0000\u0000\u08a2\u08a1\u0001\u0000\u0000"+
55743 "\u0000\u08a3\u08a7\u0001\u0000\u0000\u0000\u08a4\u08a6\u0003\u0274\u013a"+
55744 "\u0000\u08a5\u08a4\u0001\u0000\u0000\u0000\u08a6\u08a9\u0001\u0000\u0000"+
55745 "\u0000\u08a7\u08a5\u0001\u0000\u0000\u0000\u08a7\u08a8\u0001\u0000\u0000"+
55746 "\u0000\u08a8\u011d\u0001\u0000\u0000\u0000\u08a9\u08a7\u0001\u0000\u0000"+
55747 "\u0000\u08aa\u08ab\u00053\u0000\u0000\u08ab\u08ac\u0007\"\u0000\u0000"+
55748 "\u08ac\u08ad\u00038\u001c\u0000\u08ad\u08ae\u0003\u0242\u0121\u0000\u08ae"+
55749 "\u08af\u0003\u0246\u0123\u0000\u08af\u011f\u0001\u0000\u0000\u0000\u08b0"+
55750 "\u08b1\u00053\u0000\u0000\u08b1\u08b2\u0005F\u0000\u0000\u08b2\u08b3\u0003"+
55751 "6\u001b\u0000\u08b3\u08b4\u0003\u0230\u0118\u0000\u08b4\u08b5\u0003\u0232"+
55752 "\u0119\u0000\u08b5\u0121\u0001\u0000\u0000\u0000\u08b6\u08b7\u00053\u0000"+
55753 "\u0000\u08b7\u08b8\u0005J\u0000\u0000\u08b8\u08b9\u0003:\u001d\u0000\u08b9"+
55754 "\u08ba\u0003\u0250\u0128\u0000\u08ba\u0123\u0001\u0000\u0000\u0000\u08bb"+
55755 "\u08bc\u00053\u0000\u0000\u08bc\u08bd\u0005G\u0000\u0000\u08bd\u08be\u0003"+
55756 "<\u001e\u0000\u08be\u08bf\u0005a\u0000\u0000\u08bf\u08c0\u0003\u025e\u012f"+
55757 "\u0000\u08c0\u08c1\u0003\u0258\u012c\u0000\u08c1\u0125\u0001\u0000\u0000"+
55758 "\u0000\u08c2\u08c3\u00053\u0000\u0000\u08c3\u08c4\u0005\u0193\u0000\u0000"+
55759 "\u08c4\u08c8\u0003>\u001f\u0000\u08c5\u08c7\u0003\u0260\u0130\u0000\u08c6"+
55760 "\u08c5\u0001\u0000\u0000\u0000\u08c7\u08ca\u0001\u0000\u0000\u0000\u08c8"+
55761 "\u08c6\u0001\u0000\u0000\u0000\u08c8\u08c9\u0001\u0000\u0000\u0000\u08c9"+
55762 "\u0127\u0001\u0000\u0000\u0000\u08ca\u08c8\u0001\u0000\u0000\u0000\u08cb"+
55763 "\u08cc\u00053\u0000\u0000\u08cc\u08cd\u0005\u0172\u0000\u0000\u08cd\u08d1"+
55764 "\u0003F#\u0000\u08ce\u08cf\u0005a\u0000\u0000\u08cf\u08d0\u0005\u0186"+
55765 "\u0000\u0000\u08d0\u08d2\u0003B!\u0000\u08d1\u08ce\u0001\u0000\u0000\u0000"+
55766 "\u08d1\u08d2\u0001\u0000\u0000\u0000\u08d2\u08d4\u0001\u0000\u0000\u0000"+
55767 "\u08d3\u08d5\u0003\u02a8\u0154\u0000\u08d4\u08d3\u0001\u0000\u0000\u0000"+
55768 "\u08d4\u08d5\u0001\u0000\u0000\u0000\u08d5\u0129\u0001\u0000\u0000\u0000"+
55769 "\u08d6\u08d7\u00053\u0000\u0000\u08d7\u08d8\u00056\u0000\u0000\u08d8\u08d9"+
55770 "\u00034\u001a\u0000\u08d9\u08db\u0005\u029b\u0000\u0000\u08da\u08dc\u0003"+
55771 "\u038a\u01c5\u0000\u08db\u08da\u0001\u0000\u0000\u0000\u08db\u08dc\u0001"+
55772 "\u0000\u0000\u0000\u08dc\u08dd\u0001\u0000\u0000\u0000\u08dd\u08de\u0003"+
55773 "\u00e4r\u0000\u08de\u012b\u0001\u0000\u0000\u0000\u08df\u08e0\u00054\u0000"+
55774 "\u0000\u08e0\u08e2\u0005;\u0000\u0000\u08e1\u08e3\u0003\u00f8|\u0000\u08e2"+
55775 "\u08e1\u0001\u0000\u0000\u0000\u08e2\u08e3\u0001\u0000\u0000\u0000\u08e3"+
55776 "\u08e4\u0001\u0000\u0000\u0000\u08e4\u08e5\u0003T*\u0000\u08e5\u012d\u0001"+
55777 "\u0000\u0000\u0000\u08e6\u08e7\u00054\u0000\u0000\u08e7\u08e9\u0005>\u0000"+
55778 "\u0000\u08e8\u08ea\u0003\u00f8|\u0000\u08e9\u08e8\u0001\u0000\u0000\u0000"+
55779 "\u08e9\u08ea\u0001\u0000\u0000\u0000\u08ea\u08eb\u0001\u0000\u0000\u0000"+
55780 "\u08eb\u08ec\u0003V+\u0000\u08ec\u08ed\u0005a\u0000\u0000\u08ed\u08ee"+
55781 "\u0003@ \u0000\u08ee\u012f\u0001\u0000\u0000\u0000\u08ef\u08f0\u00054"+
55782 "\u0000\u0000\u08f0\u08f2\u0005\u00cc\u0000\u0000\u08f1\u08f3\u0003\u00f8"+
55783 "|\u0000\u08f2\u08f1\u0001\u0000\u0000\u0000\u08f2\u08f3\u0001\u0000\u0000"+
55784 "\u0000\u08f3\u08f4\u0001\u0000\u0000\u0000\u08f4\u08f9\u00032\u0019\u0000"+
55785 "\u08f5\u08f6\u0005%\u0000\u0000\u08f6\u08f8\u00032\u0019\u0000\u08f7\u08f5"+
55786 "\u0001\u0000\u0000\u0000\u08f8\u08fb\u0001\u0000\u0000\u0000\u08f9\u08f7"+
55787 "\u0001\u0000\u0000\u0000\u08f9\u08fa\u0001\u0000\u0000\u0000\u08fa\u0131"+
55788 "\u0001\u0000\u0000\u0000\u08fb\u08f9\u0001\u0000\u0000\u0000\u08fc\u08fd"+
55789 "\u00054\u0000\u0000\u08fd\u08ff\u0005F\u0000\u0000\u08fe\u0900\u0003\u00f8"+
55790 "|\u0000\u08ff\u08fe\u0001\u0000\u0000\u0000\u08ff\u0900\u0001\u0000\u0000"+
55791 "\u0000\u0900\u0901\u0001\u0000\u0000\u0000\u0901\u0906\u00036\u001b\u0000"+
55792 "\u0902\u0903\u0005%\u0000\u0000\u0903\u0905\u00036\u001b\u0000\u0904\u0902"+
55793 "\u0001\u0000\u0000\u0000\u0905\u0908\u0001\u0000\u0000\u0000\u0906\u0904"+
55794 "\u0001\u0000\u0000\u0000\u0906\u0907\u0001\u0000\u0000\u0000\u0907\u0133"+
55795 "\u0001\u0000\u0000\u0000\u0908\u0906\u0001\u0000\u0000\u0000\u0909\u090a"+
55796 "\u00054\u0000\u0000\u090a\u090c\u0007\"\u0000\u0000\u090b\u090d\u0003"+
55797 "\u00f8|\u0000\u090c\u090b\u0001\u0000\u0000\u0000\u090c\u090d\u0001\u0000"+
55798 "\u0000\u0000\u090d\u090e\u0001\u0000\u0000\u0000\u090e\u0913\u00038\u001c"+
55799 "\u0000\u090f\u0910\u0005%\u0000\u0000\u0910\u0912\u00038\u001c\u0000\u0911"+
55800 "\u090f\u0001\u0000\u0000\u0000\u0912\u0915\u0001\u0000\u0000\u0000\u0913"+
55801 "\u0911\u0001\u0000\u0000\u0000\u0913\u0914\u0001\u0000\u0000\u0000\u0914"+
55802 "\u0135\u0001\u0000\u0000\u0000\u0915\u0913\u0001\u0000\u0000\u0000\u0916"+
55803 "\u0917\u00054\u0000\u0000\u0917\u0919\u0005J\u0000\u0000\u0918\u091a\u0003"+
55804 "\u00f8|\u0000\u0919\u0918\u0001\u0000\u0000\u0000\u0919\u091a\u0001\u0000"+
55805 "\u0000\u0000\u091a\u091b\u0001\u0000\u0000\u0000\u091b\u0920\u0003:\u001d"+
55806 "\u0000\u091c\u091d\u0005%\u0000\u0000\u091d\u091f\u0003:\u001d\u0000\u091e"+
55807 "\u091c\u0001\u0000\u0000\u0000\u091f\u0922\u0001\u0000\u0000\u0000\u0920"+
55808 "\u091e\u0001\u0000\u0000\u0000\u0920\u0921\u0001\u0000\u0000\u0000\u0921"+
55809 "\u0137\u0001\u0000\u0000\u0000\u0922\u0920\u0001\u0000\u0000\u0000\u0923"+
55810 "\u0924\u00054\u0000\u0000\u0924\u0926\u0005G\u0000\u0000\u0925\u0927\u0003"+
55811 "\u00f8|\u0000\u0926\u0925\u0001\u0000\u0000\u0000\u0926\u0927\u0001\u0000"+
55812 "\u0000\u0000\u0927\u0928\u0001\u0000\u0000\u0000\u0928\u092d\u0003<\u001e"+
55813 "\u0000\u0929\u092a\u0005%\u0000\u0000\u092a\u092c\u0003<\u001e\u0000\u092b"+
55814 "\u0929\u0001\u0000\u0000\u0000\u092c\u092f\u0001\u0000\u0000\u0000\u092d"+
55815 "\u092b\u0001\u0000\u0000\u0000\u092d\u092e\u0001\u0000\u0000\u0000\u092e"+
55816 "\u0936\u0001\u0000\u0000\u0000\u092f\u092d\u0001\u0000\u0000\u0000\u0930"+
55817 "\u0934\u0005a\u0000\u0000\u0931\u0935\u0005\u00cc\u0000\u0000\u0932\u0933"+
55818 "\u0005r\u0000\u0000\u0933\u0935\u0005\u0154\u0000\u0000\u0934\u0931\u0001"+
55819 "\u0000\u0000\u0000\u0934\u0932\u0001\u0000\u0000\u0000\u0935\u0937\u0001"+
55820 "\u0000\u0000\u0000\u0936\u0930\u0001\u0000\u0000\u0000\u0936\u0937\u0001"+
55821 "\u0000\u0000\u0000\u0937\u0139\u0001\u0000\u0000\u0000\u0938\u0939\u0005"+
55822 "4\u0000\u0000\u0939\u093b\u0005\u0193\u0000\u0000\u093a\u093c\u0003\u00f8"+
55823 "|\u0000\u093b\u093a\u0001\u0000\u0000\u0000\u093b\u093c\u0001\u0000\u0000"+
55824 "\u0000\u093c\u093d\u0001\u0000\u0000\u0000\u093d\u0942\u0003>\u001f\u0000"+
55825 "\u093e\u093f\u0005%\u0000\u0000\u093f\u0941\u0003>\u001f\u0000\u0940\u093e"+
55826 "\u0001\u0000\u0000\u0000\u0941\u0944\u0001\u0000\u0000\u0000\u0942\u0940"+
55827 "\u0001\u0000\u0000\u0000\u0942\u0943\u0001\u0000\u0000\u0000\u0943\u013b"+
55828 "\u0001\u0000\u0000\u0000\u0944\u0942\u0001\u0000\u0000\u0000\u0945\u0946"+
55829 "\u00054\u0000\u0000\u0946\u0947\u0005\u0172\u0000\u0000\u0947\u0948\u0003"+
55830 "F#\u0000\u0948\u013d\u0001\u0000\u0000\u0000\u0949\u094a\u00054\u0000"+
55831 "\u0000\u094a\u094c\u00056\u0000\u0000\u094b\u094d\u0003\u00f8|\u0000\u094c"+
55832 "\u094b\u0001\u0000\u0000\u0000\u094c\u094d\u0001\u0000\u0000\u0000\u094d"+
55833 "\u094e\u0001\u0000\u0000\u0000\u094e\u094f\u00034\u001a\u0000\u094f\u013f"+
55834 "\u0001\u0000\u0000\u0000\u0950\u0951\u00055\u0000\u0000\u0951\u0952\u0005"+
55835 ";\u0000\u0000\u0952\u0953\u0003@ \u0000\u0953\u0141\u0001\u0000\u0000"+
55836 "\u0000\u0954\u0955\u00050\u0000\u0000\u0955\u0956\u0005\u02c6\u0000\u0000"+
55837 "\u0956\u0965\u0003@ \u0000\u0957\u0959\u0005\u001f\u0000\u0000\u0958\u0957"+
55838 "\u0001\u0000\u0000\u0000\u0958\u0959\u0001\u0000\u0000\u0000\u0959\u095a"+
55839 "\u0001\u0000\u0000\u0000\u095a\u095f\u0003V+\u0000\u095b\u095c\u0005%"+
55840 "\u0000\u0000\u095c\u095e\u0003V+\u0000\u095d\u095b\u0001\u0000\u0000\u0000"+
55841 "\u095e\u0961\u0001\u0000\u0000\u0000\u095f\u095d\u0001\u0000\u0000\u0000"+
55842 "\u095f\u0960\u0001\u0000\u0000\u0000\u0960\u0963\u0001\u0000\u0000\u0000"+
55843 "\u0961\u095f\u0001\u0000\u0000\u0000\u0962\u0964\u0005 \u0000\u0000\u0963"+
55844 "\u0962\u0001\u0000\u0000\u0000\u0963\u0964\u0001\u0000\u0000\u0000\u0964"+
55845 "\u0966\u0001\u0000\u0000\u0000\u0965\u0958\u0001\u0000\u0000\u0000\u0965"+
55846 "\u0966\u0001\u0000\u0000\u0000\u0966\u0968\u0001\u0000\u0000\u0000\u0967"+
55847 "\u0969\u0003\u0144\u00a2\u0000\u0968\u0967\u0001\u0000\u0000\u0000\u0968"+
55848 "\u0969\u0001\u0000\u0000\u0000\u0969\u0143\u0001\u0000\u0000\u0000\u096a"+
55849 "\u096c\u0005M\u0000\u0000\u096b\u096d\u0003\u0146\u00a3\u0000\u096c\u096b"+
55850 "\u0001\u0000\u0000\u0000\u096c\u096d\u0001\u0000\u0000\u0000\u096d\u096f"+
55851 "\u0001\u0000\u0000\u0000\u096e\u0970\u0003\u0148\u00a4\u0000\u096f\u096e"+
55852 "\u0001\u0000\u0000\u0000\u096f\u0970\u0001\u0000\u0000\u0000\u0970\u0145"+
55853 "\u0001\u0000\u0000\u0000\u0971\u0976\u0005\u02c7\u0000\u0000\u0972\u0973"+
55854 "\u0005\u02c8\u0000\u0000\u0973\u0974\u0005\u02d4\u0000\u0000\u0974\u0976"+
55855 "\u0007#\u0000\u0000\u0975\u0971\u0001\u0000\u0000\u0000\u0975\u0972\u0001"+
55856 "\u0000\u0000\u0000\u0976\u097a\u0001\u0000\u0000\u0000\u0977\u0978\u0005"+
55857 "\u02cc\u0000\u0000\u0978\u0979\u0005\u0018\u0000\u0000\u0979\u097b\u0007"+
55858 "\u0000\u0000\u0000\u097a\u0977\u0001\u0000\u0000\u0000\u097a\u097b\u0001"+
55859 "\u0000\u0000\u0000\u097b\u098c\u0001\u0000\u0000\u0000\u097c\u0989\u0005"+
55860 "\u02c9\u0000\u0000\u097d\u097e\u0005a\u0000\u0000\u097e\u097f\u0005\u00f6"+
55861 "\u0000\u0000\u097f\u0980\u0005\u001f\u0000\u0000\u0980\u0985\u0005\u02d4"+
55862 "\u0000\u0000\u0981\u0982\u0005%\u0000\u0000\u0982\u0984\u0005\u02d4\u0000"+
55863 "\u0000\u0983\u0981\u0001\u0000\u0000\u0000\u0984\u0987\u0001\u0000\u0000"+
55864 "\u0000\u0985\u0983\u0001\u0000\u0000\u0000\u0985\u0986\u0001\u0000\u0000"+
55865 "\u0000\u0986\u0988\u0001\u0000\u0000\u0000\u0987\u0985\u0001\u0000\u0000"+
55866 "\u0000\u0988\u098a\u0005 \u0000\u0000\u0989\u097d\u0001\u0000\u0000\u0000"+
55867 "\u0989\u098a\u0001\u0000\u0000\u0000\u098a\u098c\u0001\u0000\u0000\u0000"+
55868 "\u098b\u0975\u0001\u0000\u0000\u0000\u098b\u097c\u0001\u0000\u0000\u0000"+
55869 "\u098c\u0147\u0001\u0000\u0000\u0000\u098d\u098f\u0005%\u0000\u0000\u098e"+
55870 "\u098d\u0001\u0000\u0000\u0000\u098e\u098f\u0001\u0000\u0000\u0000\u098f"+
55871 "\u0990\u0001\u0000\u0000\u0000\u0990\u0992\u0003\u014a\u00a5\u0000\u0991"+
55872 "\u098e\u0001\u0000\u0000\u0000\u0992\u0993\u0001\u0000\u0000\u0000\u0993"+
55873 "\u0991\u0001\u0000\u0000\u0000\u0993\u0994\u0001\u0000\u0000\u0000\u0994"+
55874 "\u0149\u0001\u0000\u0000\u0000\u0995\u09a3\u0005r\u0000\u0000\u0996\u09a3"+
55875 "\u0005=\u0000\u0000\u0997\u09a3\u0005>\u0000\u0000\u0998\u09a3\u0005\u02ca"+
55876 "\u0000\u0000\u0999\u099a\u0005\u0275\u0000\u0000\u099a\u099b\u0005\u0018"+
55877 "\u0000\u0000\u099b\u09a3\u0007\u0000\u0000\u0000\u099c\u099d\u0005\u012b"+
55878 "\u0000\u0000\u099d\u099e\u0005\u0018\u0000\u0000\u099e\u09a3\u0005\u02d4"+
55879 "\u0000\u0000\u099f\u09a0\u0005\u02cb\u0000\u0000\u09a0\u09a1\u0005\u0018"+
55880 "\u0000\u0000\u09a1\u09a3\u0007\u0000\u0000\u0000\u09a2\u0995\u0001\u0000"+
55881 "\u0000\u0000\u09a2\u0996\u0001\u0000\u0000\u0000\u09a2\u0997\u0001\u0000"+
55882 "\u0000\u0000\u09a2\u0998\u0001\u0000\u0000\u0000\u09a2\u0999\u0001\u0000"+
55883 "\u0000\u0000\u09a2\u099c\u0001\u0000\u0000\u0000\u09a2\u099f\u0001\u0000"+
55884 "\u0000\u0000\u09a3\u014b\u0001\u0000\u0000\u0000\u09a4\u09a5\u0005`\u0000"+
55885 "\u0000\u09a5\u09a7\u0005\u011f\u0000\u0000\u09a6\u09a4\u0001\u0000\u0000"+
55886 "\u0000\u09a6\u09a7\u0001\u0000\u0000\u0000\u09a7\u014d\u0001\u0000\u0000"+
55887 "\u0000\u09a8\u09a9\u0003\u0150\u00a8\u0000\u09a9\u09aa\u0003\u01a4\u00d2"+
55888 "\u0000\u09aa\u09ab\u0003\u01a6\u00d3\u0000\u09ab\u014f\u0001\u0000\u0000"+
55889 "\u0000\u09ac\u09ad\u0005\u001f\u0000\u0000\u09ad\u09b2\u0003\u0152\u00a9"+
55890 "\u0000\u09ae\u09af\u0005%\u0000\u0000\u09af\u09b1\u0003\u0152\u00a9\u0000"+
55891 "\u09b0\u09ae\u0001\u0000\u0000\u0000\u09b1\u09b4\u0001\u0000\u0000\u0000"+
55892 "\u09b2\u09b0\u0001\u0000\u0000\u0000\u09b2\u09b3\u0001\u0000\u0000\u0000"+
55893 "\u09b3\u09b7\u0001\u0000\u0000\u0000\u09b4\u09b2\u0001\u0000\u0000\u0000"+
55894 "\u09b5\u09b6\u0005%\u0000\u0000\u09b6\u09b8\u0003\u01a2\u00d1\u0000\u09b7"+
55895 "\u09b5\u0001\u0000\u0000\u0000\u09b7\u09b8\u0001\u0000\u0000\u0000\u09b8"+
55896 "\u09b9\u0001\u0000\u0000\u0000\u09b9\u09ba\u0005 \u0000\u0000\u09ba\u0151"+
55897 "\u0001\u0000\u0000\u0000\u09bb\u09c1\u0003\u0154\u00aa\u0000\u09bc\u09c1"+
55898 "\u0003\u018a\u00c5\u0000\u09bd\u09c1\u0003\u018c\u00c6\u0000\u09be\u09c1"+
55899 "\u0003\u018e\u00c7\u0000\u09bf\u09c1\u0003\u019c\u00ce\u0000\u09c0\u09bb"+
55900 "\u0001\u0000\u0000\u0000\u09c0\u09bc\u0001\u0000\u0000\u0000\u09c0\u09bd"+
55901 "\u0001\u0000\u0000\u0000\u09c0\u09be\u0001\u0000\u0000\u0000\u09c0\u09bf"+
55902 "\u0001\u0000\u0000\u0000\u09c1\u0153\u0001\u0000\u0000\u0000\u09c2\u09c3"+
55903 "\u0003H$\u0000\u09c3\u09c7\u0003\u00acV\u0000\u09c4\u09c6\u0003\u0156"+
55904 "\u00ab\u0000\u09c5\u09c4\u0001\u0000\u0000\u0000\u09c6\u09c9\u0001\u0000"+
55905 "\u0000\u0000\u09c7\u09c5\u0001\u0000\u0000\u0000\u09c7\u09c8\u0001\u0000"+
55906 "\u0000\u0000\u09c8\u09ca\u0001\u0000\u0000\u0000\u09c9\u09c7\u0001\u0000"+
55907 "\u0000\u0000\u09ca\u09cc\u0003\u0188\u00c4\u0000\u09cb\u09cd\u0003\u017e"+
55908 "\u00bf\u0000\u09cc\u09cb\u0001\u0000\u0000\u0000\u09cc\u09cd\u0001\u0000"+
55909 "\u0000\u0000\u09cd\u0155\u0001\u0000\u0000\u0000\u09ce\u0a04\u0005\u011e"+
55910 "\u0000\u0000\u09cf\u09d0\u0005\u010e\u0000\u0000\u09d0\u0a04\u0003Z-\u0000"+
55911 "\u09d1\u0a04\u0005\u0140\u0000\u0000\u09d2\u09d3\u0005\u012a\u0000\u0000"+
55912 "\u09d3\u09d4\u0005M\u0000\u0000\u09d4\u09d5\u0005\u001f\u0000\u0000\u09d5"+
55913 "\u09d6\u0005F\u0000\u0000\u09d6\u09d7\u0005\u0018\u0000\u0000\u09d7\u09d8"+
55914 "\u0005\u02d3\u0000\u0000\u09d8\u0a04\u0005 \u0000\u0000\u09d9\u09da\u0005"+
55915 "?\u0000\u0000\u09da\u09dc\u0003\u00e4r\u0000\u09db\u09d9\u0001\u0000\u0000"+
55916 "\u0000\u09db\u09dc\u0001\u0000\u0000\u0000\u09dc\u09dd\u0001\u0000\u0000"+
55917 "\u0000\u09dd\u09de\u0005\u009a\u0000\u0000\u09de\u0a04\u0003b1\u0000\u09df"+
55918 "\u09e5\u0005\u0124\u0000\u0000\u09e0\u09e1\u0005\u001f\u0000\u0000\u09e1"+
55919 "\u09e2\u0005\u02d4\u0000\u0000\u09e2\u09e3\u0005%\u0000\u0000\u09e3\u09e4"+
55920 "\u0005\u02d4\u0000\u0000\u09e4\u09e6\u0005 \u0000\u0000\u09e5\u09e0\u0001"+
55921 "\u0000\u0000\u0000\u09e5\u09e6\u0001\u0000\u0000\u0000\u09e6\u0a04\u0001"+
55922 "\u0000\u0000\u0000\u09e7\u09e8\u0005k\u0000\u0000\u09e8\u09e9\u0005f\u0000"+
55923 "\u0000\u09e9\u0a04\u0005\u013b\u0000\u0000\u09ea\u09eb\u0005\u00ff\u0000"+
55924 "\u0000\u09eb\u09ec\u0005\u00fc\u0000\u0000\u09ec\u09ed\u0005`\u0000\u0000"+
55925 "\u09ed\u09ee\u0005\u00f8\u0000\u0000\u09ee\u09f0\u0007$\u0000\u0000\u09ef"+
55926 "\u09f1\u0005\u00f3\u0000\u0000\u09f0\u09ef\u0001\u0000\u0000\u0000\u09f0"+
55927 "\u09f1\u0001\u0000\u0000\u0000\u09f1\u0a04\u0001\u0000\u0000\u0000\u09f2"+
55928 "\u09f4\u0005k\u0000\u0000\u09f3\u09f2\u0001\u0000\u0000\u0000\u09f3\u09f4"+
55929 "\u0001\u0000\u0000\u0000\u09f4\u09f5\u0001\u0000\u0000\u0000\u09f5\u0a04"+
55930 "\u0005l\u0000\u0000\u09f6\u0a04\u0005\u013d\u0000\u0000\u09f7\u09f8\u0005"+
55931 "\u011c\u0000\u0000\u09f8\u09f9\u0005M\u0000\u0000\u09f9\u0a04\u0003\u0158"+
55932 "\u00ac\u0000\u09fa\u09ff\u0003\u015a\u00ad\u0000\u09fb\u09fc\u0005%\u0000"+
55933 "\u0000\u09fc\u09fe\u0003\u015a\u00ad\u0000\u09fd\u09fb\u0001\u0000\u0000"+
55934 "\u0000\u09fe\u0a01\u0001\u0000\u0000\u0000\u09ff\u09fd\u0001\u0000\u0000"+
55935 "\u0000\u09ff\u0a00\u0001\u0000\u0000\u0000\u0a00\u0a04\u0001\u0000\u0000"+
55936 "\u0000\u0a01\u09ff\u0001\u0000\u0000\u0000\u0a02\u0a04\u0003\u017e\u00bf"+
55937 "\u0000\u0a03\u09ce\u0001\u0000\u0000\u0000\u0a03\u09cf\u0001\u0000\u0000"+
55938 "\u0000\u0a03\u09d1\u0001\u0000\u0000\u0000\u0a03\u09d2\u0001\u0000\u0000"+
55939 "\u0000\u0a03\u09db\u0001\u0000\u0000\u0000\u0a03\u09df\u0001\u0000\u0000"+
55940 "\u0000\u0a03\u09e7\u0001\u0000\u0000\u0000\u0a03\u09ea\u0001\u0000\u0000"+
55941 "\u0000\u0a03\u09f3\u0001\u0000\u0000\u0000\u0a03\u09f6\u0001\u0000\u0000"+
55942 "\u0000\u0a03\u09f7\u0001\u0000\u0000\u0000\u0a03\u09fa\u0001\u0000\u0000"+
55943 "\u0000\u0a03\u0a02\u0001\u0000\u0000\u0000\u0a04\u0157\u0001\u0000\u0000"+
55944 "\u0000\u0a05\u0a06\u0005\u001f\u0000\u0000\u0a06\u0a07\u0005\u019a\u0000"+
55945 "\u0000\u0a07\u0a08\u0005\u0018\u0000\u0000\u0a08\u0a09\u0003\u00e4r\u0000"+
55946 "\u0a09\u0a0a\u0005%\u0000\u0000\u0a0a\u0a0b\u0005\u01a0\u0000\u0000\u0a0b"+
55947 "\u0a0c\u0005\u0018\u0000\u0000\u0a0c\u0a0d\u0007%\u0000\u0000\u0a0d\u0a0e"+
55948 "\u0005%\u0000\u0000\u0a0e\u0a0f\u0005\u0109\u0000\u0000\u0a0f\u0a10\u0005"+
55949 "\u0018\u0000\u0000\u0a10\u0a11\u0005\u02d3\u0000\u0000\u0a11\u0a12\u0005"+
55950 " \u0000\u0000\u0a12\u0159\u0001\u0000\u0000\u0000\u0a13\u0a14\u0005?\u0000"+
55951 "\u0000\u0a14\u0a16\u0003X,\u0000\u0a15\u0a13\u0001\u0000\u0000\u0000\u0a15"+
55952 "\u0a16\u0001\u0000\u0000\u0000\u0a16\u0a1a\u0001\u0000\u0000\u0000\u0a17"+
55953 "\u0a1b\u0003\u0162\u00b1\u0000\u0a18\u0a1b\u0003\u0176\u00bb\u0000\u0a19"+
55954 "\u0a1b\u0003\u017c\u00be\u0000\u0a1a\u0a17\u0001\u0000\u0000\u0000\u0a1a"+
55955 "\u0a18\u0001\u0000\u0000\u0000\u0a1a\u0a19\u0001\u0000\u0000\u0000\u0a1b"+
55956 "\u015b\u0001\u0000\u0000\u0000\u0a1c\u0a1d\u0005?\u0000\u0000\u0a1d\u0a1f"+
55957 "\u0003X,\u0000\u0a1e\u0a1c\u0001\u0000\u0000\u0000\u0a1e\u0a1f\u0001\u0000"+
55958 "\u0000\u0000\u0a1f\u0a23\u0001\u0000\u0000\u0000\u0a20\u0a24\u0003\u0162"+
55959 "\u00b1\u0000\u0a21\u0a24\u0003\u015e\u00af\u0000\u0a22\u0a24\u0003\u017c"+
55960 "\u00be\u0000\u0a23\u0a20\u0001\u0000\u0000\u0000\u0a23\u0a21\u0001\u0000"+
55961 "\u0000\u0000\u0a23\u0a22\u0001\u0000\u0000\u0000\u0a24\u015d\u0001\u0000"+
55962 "\u0000\u0000\u0a25\u0a26\u0005B\u0000\u0000\u0a26\u0a28\u0005C\u0000\u0000"+
55963 "\u0a27\u0a25\u0001\u0000\u0000\u0000\u0a27\u0a28\u0001\u0000\u0000\u0000"+
55964 "\u0a28\u0a29\u0001\u0000\u0000\u0000\u0a29\u0a2e\u0003@ \u0000\u0a2a\u0a2b"+
55965 "\u0005\u001f\u0000\u0000\u0a2b\u0a2c\u0003H$\u0000\u0a2c\u0a2d\u0005 "+
55966 "\u0000\u0000\u0a2d\u0a2f\u0001\u0000\u0000\u0000\u0a2e\u0a2a\u0001\u0000"+
55967 "\u0000\u0000\u0a2e\u0a2f\u0001\u0000\u0000\u0000\u0a2f\u0a33\u0001\u0000"+
55968 "\u0000\u0000\u0a30\u0a32\u0003\u0160\u00b0\u0000\u0a31\u0a30\u0001\u0000"+
55969 "\u0000\u0000\u0a32\u0a35\u0001\u0000\u0000\u0000\u0a33\u0a31\u0001\u0000"+
55970 "\u0000\u0000\u0a33\u0a34\u0001\u0000\u0000\u0000\u0a34\u015f\u0001\u0000"+
55971 "\u0000\u0000\u0a35\u0a33\u0001\u0000\u0000\u0000\u0a36\u0a37\u0005a\u0000"+
55972 "\u0000\u0a37\u0a3b\u00051\u0000\u0000\u0a38\u0a39\u0005\u0100\u0000\u0000"+
55973 "\u0a39\u0a3c\u0005\u0108\u0000\u0000\u0a3a\u0a3c\u0005\u00fd\u0000\u0000"+
55974 "\u0a3b\u0a38\u0001\u0000\u0000\u0000\u0a3b\u0a3a\u0001\u0000\u0000\u0000"+
55975 "\u0a3c\u0a45\u0001\u0000\u0000\u0000\u0a3d\u0a3e\u0005a\u0000\u0000\u0a3e"+
55976 "\u0a3f\u00050\u0000\u0000\u0a3f\u0a40\u0005\u0100\u0000\u0000\u0a40\u0a45"+
55977 "\u0005\u0108\u0000\u0000\u0a41\u0a42\u0005k\u0000\u0000\u0a42\u0a43\u0005"+
55978 "f\u0000\u0000\u0a43\u0a45\u0005\u013b\u0000\u0000\u0a44\u0a36\u0001\u0000"+
55979 "\u0000\u0000\u0a44\u0a3d\u0001\u0000\u0000\u0000\u0a44\u0a41\u0001\u0000"+
55980 "\u0000\u0000\u0a45\u0161\u0001\u0000\u0000\u0000\u0a46\u0a49\u0003`0\u0000"+
55981 "\u0a47\u0a49\u0005A\u0000\u0000\u0a48\u0a46\u0001\u0000\u0000\u0000\u0a48"+
55982 "\u0a47\u0001\u0000\u0000\u0000\u0a49\u0a4c\u0001\u0000\u0000\u0000\u0a4a"+
55983 "\u0a4d\u0003\u0164\u00b2\u0000\u0a4b\u0a4d\u0003\u0172\u00b9\u0000\u0a4c"+
55984 "\u0a4a\u0001\u0000\u0000\u0000\u0a4c\u0a4b\u0001\u0000\u0000\u0000\u0a4d"+
55985 "\u0163\u0001\u0000\u0000\u0000\u0a4e\u0a50\u0003\u0166\u00b3\u0000\u0a4f"+
55986 "\u0a4e\u0001\u0000\u0000\u0000\u0a4f\u0a50\u0001\u0000\u0000\u0000\u0a50"+
55987 "\u0a52\u0001\u0000\u0000\u0000\u0a51\u0a53\u0003\u0168\u00b4\u0000\u0a52"+
55988 "\u0a51\u0001\u0000\u0000\u0000\u0a52\u0a53\u0001\u0000\u0000\u0000\u0a53"+
55989 "\u0a55\u0001\u0000\u0000\u0000\u0a54\u0a56\u0003\u016a\u00b5\u0000\u0a55"+
55990 "\u0a54\u0001\u0000\u0000\u0000\u0a55\u0a56\u0001\u0000\u0000\u0000\u0a56"+
55991 "\u0165\u0001\u0000\u0000\u0000\u0a57\u0a58\u0007&\u0000\u0000\u0a58\u0167"+
55992 "\u0001\u0000\u0000\u0000\u0a59\u0a68\u0005M\u0000\u0000\u0a5a\u0a5b\u0005"+
55993 "\u0120\u0000\u0000\u0a5b\u0a5c\u0005\u0018\u0000\u0000\u0a5c\u0a69\u0005"+
55994 "\u02d4\u0000\u0000\u0a5d\u0a5e\u0005\u001f\u0000\u0000\u0a5e\u0a63\u0003"+
55995 "\u00ccf\u0000\u0a5f\u0a60\u0005%\u0000\u0000\u0a60\u0a62\u0003\u00ccf"+
55996 "\u0000\u0a61\u0a5f\u0001\u0000\u0000\u0000\u0a62\u0a65\u0001\u0000\u0000"+
55997 "\u0000\u0a63\u0a61\u0001\u0000\u0000\u0000\u0a63\u0a64\u0001\u0000\u0000"+
55998 "\u0000\u0a64\u0a66\u0001\u0000\u0000\u0000\u0a65\u0a63\u0001\u0000\u0000"+
55999 "\u0000\u0a66\u0a67\u0005 \u0000\u0000\u0a67\u0a69\u0001\u0000\u0000\u0000"+
56000 "\u0a68\u0a5a\u0001\u0000\u0000\u0000\u0a68\u0a5d\u0001\u0000\u0000\u0000"+
56001 "\u0a69\u0169\u0001\u0000\u0000\u0000\u0a6a\u0a6e\u0003\u016c\u00b6\u0000"+
56002 "\u0a6b\u0a6e\u0003\u016e\u00b7\u0000\u0a6c\u0a6e\u0003\u0170\u00b8\u0000"+
56003 "\u0a6d\u0a6a\u0001\u0000\u0000\u0000\u0a6d\u0a6b\u0001\u0000\u0000\u0000"+
56004 "\u0a6d\u0a6c\u0001\u0000\u0000\u0000\u0a6e\u016b\u0001\u0000\u0000\u0000"+
56005 "\u0a6f\u0a70\u0005a\u0000\u0000\u0a70\u0a71\u00034\u001a\u0000\u0a71\u0a72"+
56006 "\u0005\u001f\u0000\u0000\u0a72\u0a73\u0003H$\u0000\u0a73\u0a74\u0005 "+
56007 "\u0000\u0000\u0a74\u016d\u0001\u0000\u0000\u0000\u0a75\u0a76\u0005a\u0000"+
56008 "\u0000\u0a76\u0a77\u0003\u00e4r\u0000\u0a77\u016f\u0001\u0000\u0000\u0000"+
56009 "\u0a78\u0a79\u0005a\u0000\u0000\u0a79\u0a7a\u0005\u02d3\u0000\u0000\u0a7a"+
56010 "\u0171\u0001\u0000\u0000\u0000\u0a7b\u0a82\u0005\u010d\u0000\u0000\u0a7c"+
56011 "\u0a7d\u0005\u010d\u0000\u0000\u0a7d\u0a7f\u0005\u0122\u0000\u0000\u0a7e"+
56012 "\u0a80\u0003\u0174\u00ba\u0000\u0a7f\u0a7e\u0001\u0000\u0000\u0000\u0a7f"+
56013 "\u0a80\u0001\u0000\u0000\u0000\u0a80\u0a82\u0001\u0000\u0000\u0000\u0a81"+
56014 "\u0a7b\u0001\u0000\u0000\u0000\u0a81\u0a7c\u0001\u0000\u0000\u0000\u0a82"+
56015 "\u0173\u0001\u0000\u0000\u0000\u0a83\u0a84\u0005M\u0000\u0000\u0a84\u0a85"+
56016 "\u0005\u001f\u0000\u0000\u0a85\u0a86\u0005\u0198\u0000\u0000\u0a86\u0a87"+
56017 "\u0005\u0018\u0000\u0000\u0a87\u0a88\u0005\u02d4\u0000\u0000\u0a88\u0a89"+
56018 "\u0005 \u0000\u0000\u0a89\u0175\u0001\u0000\u0000\u0000\u0a8a\u0a8b\u0005"+
56019 "B\u0000\u0000\u0a8b\u0a8d\u0005C\u0000\u0000\u0a8c\u0a8a\u0001\u0000\u0000"+
56020 "\u0000\u0a8c\u0a8d\u0001\u0000\u0000\u0000\u0a8d\u0a8e\u0001\u0000\u0000"+
56021 "\u0000\u0a8e\u0a8f\u0005\u0103\u0000\u0000\u0a8f\u0a94\u0003@ \u0000\u0a90"+
56022 "\u0a91\u0005\u001f\u0000\u0000\u0a91\u0a92\u0003H$\u0000\u0a92\u0a93\u0005"+
56023 " \u0000\u0000\u0a93\u0a95\u0001\u0000\u0000\u0000\u0a94\u0a90\u0001\u0000"+
56024 "\u0000\u0000\u0a94\u0a95\u0001\u0000\u0000\u0000\u0a95\u0a99\u0001\u0000"+
56025 "\u0000\u0000\u0a96\u0a98\u0003\u0178\u00bc\u0000\u0a97\u0a96\u0001\u0000"+
56026 "\u0000\u0000\u0a98\u0a9b\u0001\u0000\u0000\u0000\u0a99\u0a97\u0001\u0000"+
56027 "\u0000\u0000\u0a99\u0a9a\u0001\u0000\u0000\u0000\u0a9a\u0177\u0001\u0000"+
56028 "\u0000\u0000\u0a9b\u0a99\u0001\u0000\u0000\u0000\u0a9c\u0a9d\u0005a\u0000"+
56029 "\u0000\u0a9d\u0a9e\u0007\'\u0000\u0000\u0a9e\u0aa3\u0003\u017a\u00bd\u0000"+
56030 "\u0a9f\u0aa0\u0005k\u0000\u0000\u0aa0\u0aa1\u0005f\u0000\u0000\u0aa1\u0aa3"+
56031 "\u0005\u013b\u0000\u0000\u0aa2\u0a9c\u0001\u0000\u0000\u0000\u0aa2\u0a9f"+
56032 "\u0001\u0000\u0000\u0000\u0aa3\u0179\u0001\u0000\u0000\u0000\u0aa4\u0aa5"+
56033 "\u0005\u0100\u0000\u0000\u0aa5\u0aaa\u0005\u0108\u0000\u0000\u0aa6\u0aaa"+
56034 "\u0005\u00fd\u0000\u0000\u0aa7\u0aa8\u0005:\u0000\u0000\u0aa8\u0aaa\u0007"+
56035 "(\u0000\u0000\u0aa9\u0aa4\u0001\u0000\u0000\u0000\u0aa9\u0aa6\u0001\u0000"+
56036 "\u0000\u0000\u0aa9\u0aa7\u0001\u0000\u0000\u0000\u0aaa\u017b\u0001\u0000"+
56037 "\u0000\u0000\u0aab\u0aaf\u0005\u00fe\u0000\u0000\u0aac\u0aad\u0005k\u0000"+
56038 "\u0000\u0aad\u0aae\u0005f\u0000\u0000\u0aae\u0ab0\u0005\u013b\u0000\u0000"+
56039 "\u0aaf\u0aac\u0001\u0000\u0000\u0000\u0aaf\u0ab0\u0001\u0000\u0000\u0000"+
56040 "\u0ab0\u0ab1\u0001\u0000\u0000\u0000\u0ab1\u0ab2\u0005\u001f\u0000\u0000"+
56041 "\u0ab2\u0ab3\u0003b1\u0000\u0ab3\u0ab4\u0005 \u0000\u0000\u0ab4\u017d"+
56042 "\u0001\u0000\u0000\u0000\u0ab5\u0ab6\u0005>\u0000\u0000\u0ab6\u0ab8\u0003"+
56043 "V+\u0000\u0ab7\u0ab9\u0003\u0166\u00b3\u0000\u0ab8\u0ab7\u0001\u0000\u0000"+
56044 "\u0000\u0ab8\u0ab9\u0001\u0000\u0000\u0000\u0ab9\u0abb\u0001\u0000\u0000"+
56045 "\u0000\u0aba\u0abc\u0003\u0180\u00c0\u0000\u0abb\u0aba\u0001\u0000\u0000"+
56046 "\u0000\u0abb\u0abc\u0001\u0000\u0000\u0000\u0abc\u0abe\u0001\u0000\u0000"+
56047 "\u0000\u0abd\u0abf\u0003\u0182\u00c1\u0000\u0abe\u0abd\u0001\u0000\u0000"+
56048 "\u0000\u0abe\u0abf\u0001\u0000\u0000\u0000\u0abf\u0ac1\u0001\u0000\u0000"+
56049 "\u0000\u0ac0\u0ac2\u0003\u0186\u00c3\u0000\u0ac1\u0ac0\u0001\u0000\u0000"+
56050 "\u0000\u0ac1\u0ac2\u0001\u0000\u0000\u0000\u0ac2\u017f\u0001\u0000\u0000"+
56051 "\u0000\u0ac3\u0ac4\u0005M\u0000\u0000\u0ac4\u0ac5\u0005\u001f\u0000\u0000"+
56052 "\u0ac5\u0aca\u0003\u00ccf\u0000\u0ac6\u0ac7\u0005%\u0000\u0000\u0ac7\u0ac9"+
56053 "\u0003\u00ccf\u0000\u0ac8\u0ac6\u0001\u0000\u0000\u0000\u0ac9\u0acc\u0001"+
56054 "\u0000\u0000\u0000\u0aca\u0ac8\u0001\u0000\u0000\u0000\u0aca\u0acb\u0001"+
56055 "\u0000\u0000\u0000\u0acb\u0acd\u0001\u0000\u0000\u0000\u0acc\u0aca\u0001"+
56056 "\u0000\u0000\u0000\u0acd\u0ace\u0005 \u0000\u0000\u0ace\u0181\u0001\u0000"+
56057 "\u0000\u0000\u0acf\u0ad3\u0003\u016c\u00b6\u0000\u0ad0\u0ad3\u0003\u016e"+
56058 "\u00b7\u0000\u0ad1\u0ad3\u0003\u0184\u00c2\u0000\u0ad2\u0acf\u0001\u0000"+
56059 "\u0000\u0000\u0ad2\u0ad0\u0001\u0000\u0000\u0000\u0ad2\u0ad1\u0001\u0000"+
56060 "\u0000\u0000\u0ad3\u0183\u0001\u0000\u0000\u0000\u0ad4\u0ad5\u0005a\u0000"+
56061 "\u0000\u0ad5\u0ad6\u0005\u009a\u0000\u0000\u0ad6\u0185\u0001\u0000\u0000"+
56062 "\u0000\u0ad7\u0adb\u0005\u01b2\u0000\u0000\u0ad8\u0adc\u0003\u00e4r\u0000"+
56063 "\u0ad9\u0adc\u00034\u001a\u0000\u0ada\u0adc\u0005\u02d3\u0000\u0000\u0adb"+
56064 "\u0ad8\u0001\u0000\u0000\u0000\u0adb\u0ad9\u0001\u0000\u0000\u0000\u0adb"+
56065 "\u0ada\u0001\u0000\u0000\u0000\u0adc\u0187\u0001\u0000\u0000\u0000\u0add"+
56066 "\u0ae2\u0003\u015a\u00ad\u0000\u0ade\u0adf\u0005%\u0000\u0000\u0adf\u0ae1"+
56067 "\u0003\u015a\u00ad\u0000\u0ae0\u0ade\u0001\u0000\u0000\u0000\u0ae1\u0ae4"+
56068 "\u0001\u0000\u0000\u0000\u0ae2\u0ae0\u0001\u0000\u0000\u0000\u0ae2\u0ae3"+
56069 "\u0001\u0000\u0000\u0000\u0ae3\u0ae6\u0001\u0000\u0000\u0000\u0ae4\u0ae2"+
56070 "\u0001\u0000\u0000\u0000\u0ae5\u0add\u0001\u0000\u0000\u0000\u0ae5\u0ae6"+
56071 "\u0001\u0000\u0000\u0000\u0ae6\u0189\u0001\u0000\u0000\u0000\u0ae7\u0ae8"+
56072 "\u0003H$\u0000\u0ae8\u0ae9\u0005`\u0000\u0000\u0ae9\u0aef\u0003b1\u0000"+
56073 "\u0aea\u0aed\u0005\u0135\u0000\u0000\u0aeb\u0aec\u0005k\u0000\u0000\u0aec"+
56074 "\u0aee\u0005l\u0000\u0000\u0aed\u0aeb\u0001\u0000\u0000\u0000\u0aed\u0aee"+
56075 "\u0001\u0000\u0000\u0000\u0aee\u0af0\u0001\u0000\u0000\u0000\u0aef\u0aea"+
56076 "\u0001\u0000\u0000\u0000\u0aef\u0af0\u0001\u0000\u0000\u0000\u0af0\u0af2"+
56077 "\u0001\u0000\u0000\u0000\u0af1\u0af3\u0003\u015c\u00ae\u0000\u0af2\u0af1"+
56078 "\u0001\u0000\u0000\u0000\u0af2\u0af3\u0001\u0000\u0000\u0000\u0af3\u018b"+
56079 "\u0001\u0000\u0000\u0000\u0af4\u0af5\u0003\u00e4r\u0000\u0af5\u0af6\u0005"+
56080 "\u02d1\u0000\u0000\u0af6\u0af7\u0005\u019b\u0000\u0000\u0af7\u0af8\u0005"+
56081 "f\u0000\u0000\u0af8\u0af9\u0005\u0197\u0000\u0000\u0af9\u018d\u0001\u0000"+
56082 "\u0000\u0000\u0afa\u0afb\u0005?\u0000\u0000\u0afb\u0afd\u0003X,\u0000"+
56083 "\u0afc\u0afa\u0001\u0000\u0000\u0000\u0afc\u0afd\u0001\u0000\u0000\u0000"+
56084 "\u0afd\u0b01\u0001\u0000\u0000\u0000\u0afe\u0b02\u0003\u0190\u00c8\u0000"+
56085 "\u0aff\u0b02\u0003\u019a\u00cd\u0000\u0b00\u0b02\u0003\u017c\u00be\u0000"+
56086 "\u0b01\u0afe\u0001\u0000\u0000\u0000\u0b01\u0aff\u0001\u0000\u0000\u0000"+
56087 "\u0b01\u0b00\u0001\u0000\u0000\u0000\u0b02\u018f\u0001\u0000\u0000\u0000"+
56088 "\u0b03\u0b06\u0003\u0192\u00c9\u0000\u0b04\u0b07\u0003\u0194\u00ca\u0000"+
56089 "\u0b05\u0b07\u0003\u0196\u00cb\u0000\u0b06\u0b04\u0001\u0000\u0000\u0000"+
56090 "\u0b06\u0b05\u0001\u0000\u0000\u0000\u0b07\u0191\u0001\u0000\u0000\u0000"+
56091 "\u0b08\u0b0b\u0003`0\u0000\u0b09\u0b0b\u0005A\u0000\u0000\u0b0a\u0b08"+
56092 "\u0001\u0000\u0000\u0000\u0b0a\u0b09\u0001\u0000\u0000\u0000\u0b0b\u0193"+
56093 "\u0001\u0000\u0000\u0000\u0b0c\u0b0e\u0003\u0166\u00b3\u0000\u0b0d\u0b0c"+
56094 "\u0001\u0000\u0000\u0000\u0b0d\u0b0e\u0001\u0000\u0000\u0000\u0b0e\u0b0f"+
56095 "\u0001\u0000\u0000\u0000\u0b0f\u0b11\u0003P(\u0000\u0b10\u0b12\u0003\u0168"+
56096 "\u00b4\u0000\u0b11\u0b10\u0001\u0000\u0000\u0000\u0b11\u0b12\u0001\u0000"+
56097 "\u0000\u0000\u0b12\u0b14\u0001\u0000\u0000\u0000\u0b13\u0b15\u0003\u016a"+
56098 "\u00b5\u0000\u0b14\u0b13\u0001\u0000\u0000\u0000\u0b14\u0b15\u0001\u0000"+
56099 "\u0000\u0000\u0b15\u0195\u0001\u0000\u0000\u0000\u0b16\u0b19\u0005\u010d"+
56100 "\u0000\u0000\u0b17\u0b1a\u0003P(\u0000\u0b18\u0b1a\u0003\u0198\u00cc\u0000"+
56101 "\u0b19\u0b17\u0001\u0000\u0000\u0000\u0b19\u0b18\u0001\u0000\u0000\u0000"+
56102 "\u0b1a\u0197\u0001\u0000\u0000\u0000\u0b1b\u0b1c\u0005\u0122\u0000\u0000"+
56103 "\u0b1c\u0b1d\u0003P(\u0000\u0b1d\u0b1e\u0003\u0174\u00ba\u0000\u0b1e\u0199"+
56104 "\u0001\u0000\u0000\u0000\u0b1f\u0b20\u0005B\u0000\u0000\u0b20\u0b22\u0005"+
56105 "C\u0000\u0000\u0b21\u0b1f\u0001\u0000\u0000\u0000\u0b21\u0b22\u0001\u0000"+
56106 "\u0000\u0000\u0b22\u0b23\u0001\u0000\u0000\u0000\u0b23\u0b24\u0003P(\u0000"+
56107 "\u0b24\u0b25\u0005\u0103\u0000\u0000\u0b25\u0b26\u0003@ \u0000\u0b26\u0b2a"+
56108 "\u0003P(\u0000\u0b27\u0b29\u0003\u0178\u00bc\u0000\u0b28\u0b27\u0001\u0000"+
56109 "\u0000\u0000\u0b29\u0b2c\u0001\u0000\u0000\u0000\u0b2a\u0b28\u0001\u0000"+
56110 "\u0000\u0000\u0b2a\u0b2b\u0001\u0000\u0000\u0000\u0b2b\u019b\u0001\u0000"+
56111 "\u0000\u0000\u0b2c\u0b2a\u0001\u0000\u0000\u0000\u0b2d\u0b2e\u0005>\u0000"+
56112 "\u0000\u0b2e\u0b2f\u0003V+\u0000\u0b2f\u0b32\u0003\u019e\u00cf\u0000\u0b30"+
56113 "\u0b31\u0005M\u0000\u0000\u0b31\u0b33\u0003\u01a0\u00d0\u0000\u0b32\u0b30"+
56114 "\u0001\u0000\u0000\u0000\u0b32\u0b33\u0001\u0000\u0000\u0000\u0b33\u0b35"+
56115 "\u0001\u0000\u0000\u0000\u0b34\u0b36\u0003\u0182\u00c1\u0000\u0b35\u0b34"+
56116 "\u0001\u0000\u0000\u0000\u0b35\u0b36\u0001\u0000\u0000\u0000\u0b36\u0b38"+
56117 "\u0001\u0000\u0000\u0000\u0b37\u0b39\u0003\u0186\u00c3\u0000\u0b38\u0b37"+
56118 "\u0001\u0000\u0000\u0000\u0b38\u0b39\u0001\u0000\u0000\u0000\u0b39\u019d"+
56119 "\u0001\u0000\u0000\u0000\u0b3a\u0b3c\u0003\u0166\u00b3\u0000\u0b3b\u0b3a"+
56120 "\u0001\u0000\u0000\u0000\u0b3b\u0b3c\u0001\u0000\u0000\u0000\u0b3c\u0b3d"+
56121 "\u0001\u0000\u0000\u0000\u0b3d\u0b46\u0003P(\u0000\u0b3e\u0b3f\u0005\u010c"+
56122 "\u0000\u0000\u0b3f\u0b46\u0005\u010f\u0000\u0000\u0b40\u0b42\u0005\u010d"+
56123 "\u0000\u0000\u0b41\u0b40\u0001\u0000\u0000\u0000\u0b41\u0b42\u0001\u0000"+
56124 "\u0000\u0000\u0b42\u0b43\u0001\u0000\u0000\u0000\u0b43\u0b44\u0005\u010f"+
56125 "\u0000\u0000\u0b44\u0b46\u0003P(\u0000\u0b45\u0b3b\u0001\u0000\u0000\u0000"+
56126 "\u0b45\u0b3e\u0001\u0000\u0000\u0000\u0b45\u0b41\u0001\u0000\u0000\u0000"+
56127 "\u0b46\u019f\u0001\u0000\u0000\u0000\u0b47\u0b48\u0005\u001f\u0000\u0000"+
56128 "\u0b48\u0b4d\u0003\u00ccf\u0000\u0b49\u0b4a\u0005%\u0000\u0000\u0b4a\u0b4c"+
56129 "\u0003\u00ccf\u0000\u0b4b\u0b49\u0001\u0000\u0000\u0000\u0b4c\u0b4f\u0001"+
56130 "\u0000\u0000\u0000\u0b4d\u0b4b\u0001\u0000\u0000\u0000\u0b4d\u0b4e\u0001"+
56131 "\u0000\u0000\u0000\u0b4e\u0b50\u0001\u0000\u0000\u0000\u0b4f\u0b4d\u0001"+
56132 "\u0000\u0000\u0000\u0b50\u0b51\u0005 \u0000\u0000\u0b51\u01a1\u0001\u0000"+
56133 "\u0000\u0000\u0b52\u0b53\u0005\u0134\u0000\u0000\u0b53\u0b54\u0005f\u0000"+
56134 "\u0000\u0b54\u0b55\u0005\u01a1\u0000\u0000\u0b55\u0b56\u0005\u001f\u0000"+
56135 "\u0000\u0b56\u0b57\u0003H$\u0000\u0b57\u0b58\u0005%\u0000\u0000\u0b58"+
56136 "\u0b59\u0003H$\u0000\u0b59\u0b5a\u0005 \u0000\u0000\u0b5a\u01a3\u0001"+
56137 "\u0000\u0000\u0000\u0b5b\u0b63\u0005a\u0000\u0000\u0b5c\u0b5d\u00034\u001a"+
56138 "\u0000\u0b5d\u0b5e\u0005\u001f\u0000\u0000\u0b5e\u0b5f\u0003H$\u0000\u0b5f"+
56139 "\u0b60\u0005 \u0000\u0000\u0b60\u0b64\u0001\u0000\u0000\u0000\u0b61\u0b64"+
56140 "\u0003\u00e4r\u0000\u0b62\u0b64\u0005\u02d3\u0000\u0000\u0b63\u0b5c\u0001"+
56141 "\u0000\u0000\u0000\u0b63\u0b61\u0001\u0000\u0000\u0000\u0b63\u0b62\u0001"+
56142 "\u0000\u0000\u0000\u0b64\u0b66\u0001\u0000\u0000\u0000\u0b65\u0b5b\u0001"+
56143 "\u0000\u0000\u0000\u0b65\u0b66\u0001\u0000\u0000\u0000\u0b66\u01a5\u0001"+
56144 "\u0000\u0000\u0000\u0b67\u0b6a\u0005\u01a3\u0000\u0000\u0b68\u0b6b\u0003"+
56145 "\u00e4r\u0000\u0b69\u0b6b\u0005\u02d3\u0000\u0000\u0b6a\u0b68\u0001\u0000"+
56146 "\u0000\u0000\u0b6a\u0b69\u0001\u0000\u0000\u0000\u0b6b\u0b6d\u0001\u0000"+
56147 "\u0000\u0000\u0b6c\u0b67\u0001\u0000\u0000\u0000\u0b6c\u0b6d\u0001\u0000"+
56148 "\u0000\u0000\u0b6d\u0b75\u0001\u0000\u0000\u0000\u0b6e\u0b6f\u0005\u01b2"+
56149 "\u0000\u0000\u0b6f\u0b74\u00034\u001a\u0000\u0b70\u0b71\u0003\u00e4r\u0000"+
56150 "\u0b71\u0b72\u0005\u02d3\u0000\u0000\u0b72\u0b74\u0001\u0000\u0000\u0000"+
56151 "\u0b73\u0b6e\u0001\u0000\u0000\u0000\u0b73\u0b70\u0001\u0000\u0000\u0000"+
56152 "\u0b74\u0b76\u0001\u0000\u0000\u0000\u0b75\u0b73\u0001\u0000\u0000\u0000"+
56153 "\u0b75\u0b76\u0001\u0000\u0000\u0000\u0b76\u0b79\u0001\u0000\u0000\u0000"+
56154 "\u0b77\u0b78\u0005M\u0000\u0000\u0b78\u0b7a\u0003\u01a8\u00d4\u0000\u0b79"+
56155 "\u0b77\u0001\u0000\u0000\u0000\u0b79\u0b7a\u0001\u0000\u0000\u0000\u0b7a"+
56156 "\u01a7\u0001\u0000\u0000\u0000\u0b7b\u0b7c\u0005\u001f\u0000\u0000\u0b7c"+
56157 "\u0b81\u0003\u01aa\u00d5\u0000\u0b7d\u0b7e\u0005%\u0000\u0000\u0b7e\u0b80"+
56158 "\u0003\u01aa\u00d5\u0000\u0b7f\u0b7d\u0001\u0000\u0000\u0000\u0b80\u0b83"+
56159 "\u0001\u0000\u0000\u0000\u0b81\u0b7f\u0001\u0000\u0000\u0000\u0b81\u0b82"+
56160 "\u0001\u0000\u0000\u0000\u0b82\u0b84\u0001\u0000\u0000\u0000\u0b83\u0b81"+
56161 "\u0001\u0000\u0000\u0000\u0b84\u0b85\u0005 \u0000\u0000\u0b85\u01a9\u0001"+
56162 "\u0000\u0000\u0000\u0b86\u0b87\u0005\u019e\u0000\u0000\u0b87\u0b88\u0005"+
56163 "\u0018\u0000\u0000\u0b88\u0b8f\u0007)\u0000\u0000\u0b89\u0b8a\u0005a\u0000"+
56164 "\u0000\u0b8a\u0b8b\u0005\u00f6\u0000\u0000\u0b8b\u0b8c\u0005\u001f\u0000"+
56165 "\u0000\u0b8c\u0b8d\u0003\u00dam\u0000\u0b8d\u0b8e\u0005 \u0000\u0000\u0b8e"+
56166 "\u0b90\u0001\u0000\u0000\u0000\u0b8f\u0b89\u0001\u0000\u0000\u0000\u0b8f"+
56167 "\u0b90\u0001\u0000\u0000\u0000\u0b90\u0bb9\u0001\u0000\u0000\u0000\u0b91"+
56168 "\u0b92\u0005\u01b4\u0000\u0000\u0b92\u0b93\u0005\u0018\u0000\u0000\u0b93"+
56169 "\u0bb9\u0003\u00e4r\u0000\u0b94\u0b95\u0005\u01b3\u0000\u0000\u0b95\u0b98"+
56170 "\u0005\u0018\u0000\u0000\u0b96\u0b99\u0003Z-\u0000\u0b97\u0b99\u0005\u019d"+
56171 "\u0000\u0000\u0b98\u0b96\u0001\u0000\u0000\u0000\u0b98\u0b97\u0001\u0000"+
56172 "\u0000\u0000\u0b99\u0bb9\u0001\u0000\u0000\u0000\u0b9a\u0b9b\u0005\u01b6"+
56173 "\u0000\u0000\u0b9b\u0b9c\u0005\u0018\u0000\u0000\u0b9c\u0bb9\u0003\u00e4"+
56174 "r\u0000\u0b9d\u0b9e\u0005\u01b7\u0000\u0000\u0b9e\u0b9f\u0005\u0018\u0000"+
56175 "\u0000\u0b9f\u0bb9\u0003\u00e4r\u0000\u0ba0\u0ba1\u0005\u01b5\u0000\u0000"+
56176 "\u0ba1\u0ba2\u0005\u0018\u0000\u0000\u0ba2\u0bb9\u0003\u00e4r\u0000\u0ba3"+
56177 "\u0ba4\u0005\u01a2\u0000\u0000\u0ba4\u0ba5\u0005\u0018\u0000\u0000\u0ba5"+
56178 "\u0ba7\u0005a\u0000\u0000\u0ba6\u0ba8\u0003\u0202\u0101\u0000\u0ba7\u0ba6"+
56179 "\u0001\u0000\u0000\u0000\u0ba7\u0ba8\u0001\u0000\u0000\u0000\u0ba8\u0bb9"+
56180 "\u0001\u0000\u0000\u0000\u0ba9\u0baa\u0005\u01b1\u0000\u0000\u0baa\u0bb1"+
56181 "\u0005\u0018\u0000\u0000\u0bab\u0bad\u0005a\u0000\u0000\u0bac\u0bae\u0003"+
56182 "\u01ae\u00d7\u0000\u0bad\u0bac\u0001\u0000\u0000\u0000\u0bad\u0bae\u0001"+
56183 "\u0000\u0000\u0000\u0bae\u0bb2\u0001\u0000\u0000\u0000\u0baf\u0bb0\u0005"+
56184 "b\u0000\u0000\u0bb0\u0bb2\u0003\u01b2\u00d9\u0000\u0bb1\u0bab\u0001\u0000"+
56185 "\u0000\u0000\u0bb1\u0baf\u0001\u0000\u0000\u0000\u0bb2\u0bb9\u0001\u0000"+
56186 "\u0000\u0000\u0bb3\u0bb9\u0003\u01b4\u00da\u0000\u0bb4\u0bb9\u0003\u01b6"+
56187 "\u00db\u0000\u0bb5\u0bb9\u0003\u01b8\u00dc\u0000\u0bb6\u0bb9\u0003\u01ac"+
56188 "\u00d6\u0000\u0bb7\u0bb9\u0003\u01ba\u00dd\u0000\u0bb8\u0b86\u0001\u0000"+
56189 "\u0000\u0000\u0bb8\u0b91\u0001\u0000\u0000\u0000\u0bb8\u0b94\u0001\u0000"+
56190 "\u0000\u0000\u0bb8\u0b9a\u0001\u0000\u0000\u0000\u0bb8\u0b9d\u0001\u0000"+
56191 "\u0000\u0000\u0bb8\u0ba0\u0001\u0000\u0000\u0000\u0bb8\u0ba3\u0001\u0000"+
56192 "\u0000\u0000\u0bb8\u0ba9\u0001\u0000\u0000\u0000\u0bb8\u0bb3\u0001\u0000"+
56193 "\u0000\u0000\u0bb8\u0bb4\u0001\u0000\u0000\u0000\u0bb8\u0bb5\u0001\u0000"+
56194 "\u0000\u0000\u0bb8\u0bb6\u0001\u0000\u0000\u0000\u0bb8\u0bb7\u0001\u0000"+
56195 "\u0000\u0000\u0bb9\u01ab\u0001\u0000\u0000\u0000\u0bba\u0bbb\u0005\u01f3"+
56196 "\u0000\u0000\u0bbb\u0bbc\u0005\u0018\u0000\u0000\u0bbc\u0bbd\u0005a\u0000"+
56197 "\u0000\u0bbd\u0bbe\u0005\u001f\u0000\u0000\u0bbe\u0bbf\u0005\u01f4\u0000"+
56198 "\u0000\u0bbf\u0bc0\u0005\u0018\u0000\u0000\u0bc0\u0bc1\u0003H$\u0000\u0bc1"+
56199 "\u0bc2\u0005%\u0000\u0000\u0bc2\u0bc3\u0005\u01f5\u0000\u0000\u0bc3\u0bc4"+
56200 "\u0005\u0018\u0000\u0000\u0bc4\u0bc5\u0003\u01f4\u00fa\u0000\u0bc5\u01ad"+
56201 "\u0001\u0000\u0000\u0000\u0bc6\u0bc7\u0005\u001f\u0000\u0000\u0bc7\u0bcc"+
56202 "\u0003\u01b0\u00d8\u0000\u0bc8\u0bc9\u0005%\u0000\u0000\u0bc9\u0bcb\u0003"+
56203 "\u01b0\u00d8\u0000\u0bca\u0bc8\u0001\u0000\u0000\u0000\u0bcb\u0bce\u0001"+
56204 "\u0000\u0000\u0000\u0bcc\u0bca\u0001\u0000\u0000\u0000\u0bcc\u0bcd\u0001"+
56205 "\u0000\u0000\u0000\u0bcd\u0bcf\u0001\u0000\u0000\u0000\u0bce\u0bcc\u0001"+
56206 "\u0000\u0000\u0000\u0bcf\u0bd0\u0005 \u0000\u0000\u0bd0\u01af\u0001\u0000"+
56207 "\u0000\u0000\u0bd1\u0bd2\u0005\u01b8\u0000\u0000\u0bd2\u0bd5\u0005\u0018"+
56208 "\u0000\u0000\u0bd3\u0bd6\u0005l\u0000\u0000\u0bd4\u0bd6\u0003v;\u0000"+
56209 "\u0bd5\u0bd3\u0001\u0000\u0000\u0000\u0bd5\u0bd4\u0001\u0000\u0000\u0000"+
56210 "\u0bd6\u0bd7\u0001\u0000\u0000\u0000\u0bd7\u0bd9\u0005%\u0000\u0000\u0bd8"+
56211 "\u0bd1\u0001\u0000\u0000\u0000\u0bd8\u0bd9\u0001\u0000\u0000\u0000\u0bd9"+
56212 "\u0bda\u0001\u0000\u0000\u0000\u0bda\u0bdb\u0005\u01af\u0000\u0000\u0bdb"+
56213 "\u0bdc\u0005\u0018\u0000\u0000\u0bdc\u0bdd\u0007*\u0000\u0000\u0bdd\u01b1"+
56214 "\u0001\u0000\u0000\u0000\u0bde\u0bdf\u0005\u001f\u0000\u0000\u0bdf\u0be0"+
56215 "\u0005\u01af\u0000\u0000\u0be0\u0be1\u0005\u0018\u0000\u0000\u0be1\u0be2"+
56216 "\u0005\u0133\u0000\u0000\u0be2\u0be3\u0005 \u0000\u0000\u0be3\u01b3\u0001"+
56217 "\u0000\u0000\u0000\u0be4\u0be5\u0005\u01ae\u0000\u0000\u0be5\u0be6\u0005"+
56218 "\u0018\u0000\u0000\u0be6\u0bf1\u0005a\u0000\u0000\u0be7\u0be8\u0005\u011b"+
56219 "\u0000\u0000\u0be8\u0be9\u0005\u0018\u0000\u0000\u0be9\u0bf1\u0007+\u0000"+
56220 "\u0000\u0bea\u0beb\u0005\u01a2\u0000\u0000\u0beb\u0bec\u0005\u0018\u0000"+
56221 "\u0000\u0bec\u0bee\u0005a\u0000\u0000\u0bed\u0bef\u0003\u0202\u0101\u0000"+
56222 "\u0bee\u0bed\u0001\u0000\u0000\u0000\u0bee\u0bef\u0001\u0000\u0000\u0000"+
56223 "\u0bef\u0bf1\u0001\u0000\u0000\u0000\u0bf0\u0be4\u0001\u0000\u0000\u0000"+
56224 "\u0bf0\u0be7\u0001\u0000\u0000\u0000\u0bf0\u0bea\u0001\u0000\u0000\u0000"+
56225 "\u0bf1\u01b5\u0001\u0000\u0000\u0000\u0bf2\u0bf3\u0005\u0119\u0000\u0000"+
56226 "\u0bf3\u0bfb\u0005\u0018\u0000\u0000\u0bf4\u0bf5\u0005\u0122\u0000\u0000"+
56227 "\u0bf5\u0bf6\u0005\u001f\u0000\u0000\u0bf6\u0bf7\u0003H$\u0000\u0bf7\u0bf8"+
56228 "\u0005 \u0000\u0000\u0bf8\u0bfc\u0001\u0000\u0000\u0000\u0bf9\u0bfc\u0005"+
56229 "\u01a7\u0000\u0000\u0bfa\u0bfc\u0005\u013a\u0000\u0000\u0bfb\u0bf4\u0001"+
56230 "\u0000\u0000\u0000\u0bfb\u0bf9\u0001\u0000\u0000\u0000\u0bfb\u0bfa\u0001"+
56231 "\u0000\u0000\u0000\u0bfc\u01b7\u0001\u0000\u0000\u0000\u0bfd\u0bfe\u0005"+
56232 "\u010c\u0000\u0000\u0bfe\u0bff\u0005\u010f\u0000\u0000\u0bff\u0c1a\u0005"+
56233 ">\u0000\u0000\u0c00\u0c01\u0005\u010c\u0000\u0000\u0c01\u0c02\u0005\u010f"+
56234 "\u0000\u0000\u0c02\u0c03\u0005>\u0000\u0000\u0c03\u0c04\u0005u\u0000\u0000"+
56235 "\u0c04\u0c1a\u0003P(\u0000\u0c05\u0c1a\u0005\u0123\u0000\u0000\u0c06\u0c07"+
56236 "\u0005\u010c\u0000\u0000\u0c07\u0c08\u0005>\u0000\u0000\u0c08\u0c09\u0005"+
56237 "\u001f\u0000\u0000\u0c09\u0c0b\u0003H$\u0000\u0c0a\u0c0c\u0007\u0011\u0000"+
56238 "\u0000\u0c0b\u0c0a\u0001\u0000\u0000\u0000\u0c0b\u0c0c\u0001\u0000\u0000"+
56239 "\u0000\u0c0c\u0c14\u0001\u0000\u0000\u0000\u0c0d\u0c0e\u0005%\u0000\u0000"+
56240 "\u0c0e\u0c10\u0003H$\u0000\u0c0f\u0c11\u0007\u0011\u0000\u0000\u0c10\u0c0f"+
56241 "\u0001\u0000\u0000\u0000\u0c10\u0c11\u0001\u0000\u0000\u0000\u0c11\u0c13"+
56242 "\u0001\u0000\u0000\u0000\u0c12\u0c0d\u0001\u0000\u0000\u0000\u0c13\u0c16"+
56243 "\u0001\u0000\u0000\u0000\u0c14\u0c12\u0001\u0000\u0000\u0000\u0c14\u0c15"+
56244 "\u0001\u0000\u0000\u0000\u0c15\u0c17\u0001\u0000\u0000\u0000\u0c16\u0c14"+
56245 "\u0001\u0000\u0000\u0000\u0c17\u0c18\u0005 \u0000\u0000\u0c18\u0c1a\u0001"+
56246 "\u0000\u0000\u0000\u0c19\u0bfd\u0001\u0000\u0000\u0000\u0c19\u0c00\u0001"+
56247 "\u0000\u0000\u0000\u0c19\u0c05\u0001\u0000\u0000\u0000\u0c19\u0c06\u0001"+
56248 "\u0000\u0000\u0000\u0c1a\u01b9\u0001\u0000\u0000\u0000\u0c1b\u0c1c\u0005"+
56249 "\u00f5\u0000\u0000\u0c1c\u0c1d\u0005\u001f\u0000\u0000\u0c1d\u0c1e\u0003"+
56250 "H$\u0000\u0c1e\u0c20\u0005\u0138\u0000\u0000\u0c1f\u0c21\u0007,\u0000"+
56251 "\u0000\u0c20\u0c1f\u0001\u0000\u0000\u0000\u0c20\u0c21\u0001\u0000\u0000"+
56252 "\u0000\u0c21\u0c22\u0001\u0000\u0000\u0000\u0c22\u0c23\u0005f\u0000\u0000"+
56253 "\u0c23\u0c24\u0005L\u0000\u0000\u0c24\u0c25\u0005\u001f\u0000\u0000\u0c25"+
56254 "\u0c2a\u0003t:\u0000\u0c26\u0c27\u0005%\u0000\u0000\u0c27\u0c29\u0003"+
56255 "t:\u0000\u0c28\u0c26\u0001\u0000\u0000\u0000\u0c29\u0c2c\u0001\u0000\u0000"+
56256 "\u0000\u0c2a\u0c28\u0001\u0000\u0000\u0000\u0c2a\u0c2b\u0001\u0000\u0000"+
56257 "\u0000\u0c2b\u0c2d\u0001\u0000\u0000\u0000\u0c2c\u0c2a\u0001\u0000\u0000"+
56258 "\u0000\u0c2d\u0c2e\u0005 \u0000\u0000\u0c2e\u0c2f\u0005 \u0000\u0000\u0c2f"+
56259 "\u01bb\u0001\u0000\u0000\u0000\u0c30\u0c32\u0005A\u0000\u0000\u0c31\u0c30"+
56260 "\u0001\u0000\u0000\u0000\u0c31\u0c32\u0001\u0000\u0000\u0000\u0c32\u0c34"+
56261 "\u0001\u0000\u0000\u0000\u0c33\u0c35\u0003\u0166\u00b3\u0000\u0c34\u0c33"+
56262 "\u0001\u0000\u0000\u0000\u0c34\u0c35\u0001\u0000\u0000\u0000\u0c35\u01bd"+
56263 "\u0001\u0000\u0000\u0000\u0c36\u0c40\u0003\u01c0\u00e0\u0000\u0c37\u0c40"+
56264 "\u0003\u01c2\u00e1\u0000\u0c38\u0c40\u0003\u01d2\u00e9\u0000\u0c39\u0c40"+
56265 "\u0003\u01e2\u00f1\u0000\u0c3a\u0c40\u0003\u01e4\u00f2\u0000\u0c3b\u0c40"+
56266 "\u0003\u01e6\u00f3\u0000\u0c3c\u0c40\u0003\u01e8\u00f4\u0000\u0c3d\u0c40"+
56267 "\u0003\u0200\u0100\u0000\u0c3e\u0c40\u0005\u0139\u0000\u0000\u0c3f\u0c36"+
56268 "\u0001\u0000\u0000\u0000\u0c3f\u0c37\u0001\u0000\u0000\u0000\u0c3f\u0c38"+
56269 "\u0001\u0000\u0000\u0000\u0c3f\u0c39\u0001\u0000\u0000\u0000\u0c3f\u0c3a"+
56270 "\u0001\u0000\u0000\u0000\u0c3f\u0c3b\u0001\u0000\u0000\u0000\u0c3f\u0c3c"+
56271 "\u0001\u0000\u0000\u0000\u0c3f\u0c3d\u0001\u0000\u0000\u0000\u0c3f\u0c3e"+
56272 "\u0001\u0000\u0000\u0000\u0c40\u01bf\u0001\u0000\u0000\u0000\u0c41\u0c42"+
56273 "\u0005M\u0000\u0000\u0c42\u0c44\u0007-\u0000\u0000\u0c43\u0c41\u0001\u0000"+
56274 "\u0000\u0000\u0c43\u0c44\u0001\u0000\u0000\u0000\u0c44\u0c45\u0001\u0000"+
56275 "\u0000\u0000\u0c45\u0c48\u00059\u0000\u0000\u0c46\u0c49\u0003\u01c6\u00e3"+
56276 "\u0000\u0c47\u0c49\u0003\u01cc\u00e6\u0000\u0c48\u0c46\u0001\u0000\u0000"+
56277 "\u0000\u0c48\u0c47\u0001\u0000\u0000\u0000\u0c49\u01c1\u0001\u0000\u0000"+
56278 "\u0000\u0c4a\u0c4b\u0003\u01c4\u00e2\u0000\u0c4b\u0c4e\u0003\u00acV\u0000"+
56279 "\u0c4c\u0c4d\u0005\u010e\u0000\u0000\u0c4d\u0c4f\u0003Z-\u0000\u0c4e\u0c4c"+
56280 "\u0001\u0000\u0000\u0000\u0c4e\u0c4f\u0001\u0000\u0000\u0000\u0c4f\u0c53"+
56281 "\u0001\u0000\u0000\u0000\u0c50\u0c54\u0005l\u0000\u0000\u0c51\u0c52\u0005"+
56282 "k\u0000\u0000\u0c52\u0c54\u0005l\u0000\u0000\u0c53\u0c50\u0001\u0000\u0000"+
56283 "\u0000\u0c53\u0c51\u0001\u0000\u0000\u0000\u0c53\u0c54\u0001\u0000\u0000"+
56284 "\u0000\u0c54\u0c56\u0001\u0000\u0000\u0000\u0c55\u0c57\u0005\u0140\u0000"+
56285 "\u0000\u0c56\u0c55\u0001\u0000\u0000\u0000\u0c56\u0c57\u0001\u0000\u0000"+
56286 "\u0000\u0c57\u01c3\u0001\u0000\u0000\u0000\u0c58\u0c59\u00053\u0000\u0000"+
56287 "\u0c59\u0c5a\u0005<\u0000\u0000\u0c5a\u0c5b\u0003H$\u0000\u0c5b\u01c5"+
56288 "\u0001\u0000\u0000\u0000\u0c5c\u0c61\u0003\u01c8\u00e4\u0000\u0c5d\u0c5e"+
56289 "\u0005%\u0000\u0000\u0c5e\u0c60\u0003\u01c8\u00e4\u0000\u0c5f\u0c5d\u0001"+
56290 "\u0000\u0000\u0000\u0c60\u0c63\u0001\u0000\u0000\u0000\u0c61\u0c5f\u0001"+
56291 "\u0000\u0000\u0000\u0c61\u0c62\u0001\u0000\u0000\u0000\u0c62\u01c7\u0001"+
56292 "\u0000\u0000\u0000\u0c63\u0c61\u0001\u0000\u0000\u0000\u0c64\u0c6b\u0003"+
56293 "\u0154\u00aa\u0000\u0c65\u0c6b\u0003\u018a\u00c5\u0000\u0c66\u0c6b\u0003"+
56294 "\u018c\u00c6\u0000\u0c67\u0c6b\u0003\u018e\u00c7\u0000\u0c68\u0c6b\u0003"+
56295 "\u01f6\u00fb\u0000\u0c69\u0c6b\u0003\u01ca\u00e5\u0000\u0c6a\u0c64\u0001"+
56296 "\u0000\u0000\u0000\u0c6a\u0c65\u0001\u0000\u0000\u0000\u0c6a\u0c66\u0001"+
56297 "\u0000\u0000\u0000\u0c6a\u0c67\u0001\u0000\u0000\u0000\u0c6a\u0c68\u0001"+
56298 "\u0000\u0000\u0000\u0c6a\u0c69\u0001\u0000\u0000\u0000\u0c6b\u01c9\u0001"+
56299 "\u0000\u0000\u0000\u0c6c\u0c6d\u0005?\u0000\u0000\u0c6d\u0c6f\u0003X,"+
56300 "\u0000\u0c6e\u0c6c\u0001\u0000\u0000\u0000\u0c6e\u0c6f\u0001\u0000\u0000"+
56301 "\u0000\u0c6f\u0c70\u0001\u0000\u0000\u0000\u0c70\u0c71\u0005\u009a\u0000"+
56302 "\u0000\u0c71\u0c72\u0003t:\u0000\u0c72\u0c73\u0005f\u0000\u0000\u0c73"+
56303 "\u0c74\u0003H$\u0000\u0c74\u01cb\u0001\u0000\u0000\u0000\u0c75\u0c76\u0003"+
56304 "\u01ce\u00e7\u0000\u0c76\u0c77\u0005%\u0000\u0000\u0c77\u0c78\u0003\u01a2"+
56305 "\u00d1\u0000\u0c78\u0c7e\u0001\u0000\u0000\u0000\u0c79\u0c7a\u0003\u01a2"+
56306 "\u00d1\u0000\u0c7a\u0c7b\u0005%\u0000\u0000\u0c7b\u0c7c\u0003\u01ce\u00e7"+
56307 "\u0000\u0c7c\u0c7e\u0001\u0000\u0000\u0000\u0c7d\u0c75\u0001\u0000\u0000"+
56308 "\u0000\u0c7d\u0c79\u0001\u0000\u0000\u0000\u0c7e\u01cd\u0001\u0000\u0000"+
56309 "\u0000\u0c7f\u0c80\u0003\u01d0\u00e8\u0000\u0c80\u0c81\u0005\u009a\u0000"+
56310 "\u0000\u0c81\u0c84\u0003t:\u0000\u0c82\u0c83\u0005M\u0000\u0000\u0c83"+
56311 "\u0c85\u0005L\u0000\u0000\u0c84\u0c82\u0001\u0000\u0000\u0000\u0c84\u0c85"+
56312 "\u0001\u0000\u0000\u0000\u0c85\u0c86\u0001\u0000\u0000\u0000\u0c86\u0c87"+
56313 "\u0005%\u0000\u0000\u0c87\u0c88\u0003\u01d0\u00e8\u0000\u0c88\u01cf\u0001"+
56314 "\u0000\u0000\u0000\u0c89\u0c8a\u0003H$\u0000\u0c8a\u0c8b\u0003\u00aeW"+
56315 "\u0000\u0c8b\u0c8c\u0005\u00ff\u0000\u0000\u0c8c\u0c8d\u0005\u00fc\u0000"+
56316 "\u0000\u0c8d\u0c8e\u0005`\u0000\u0000\u0c8e\u0c90\u0005\u00f8\u0000\u0000"+
56317 "\u0c8f\u0c91\u0007$\u0000\u0000\u0c90\u0c8f\u0001\u0000\u0000\u0000\u0c90"+
56318 "\u0c91\u0001\u0000\u0000\u0000\u0c91\u0c93\u0001\u0000\u0000\u0000\u0c92"+
56319 "\u0c94\u0005\u00f3\u0000\u0000\u0c93\u0c92\u0001\u0000\u0000\u0000\u0c93"+
56320 "\u0c94\u0001\u0000\u0000\u0000\u0c94\u0c97\u0001\u0000\u0000\u0000\u0c95"+
56321 "\u0c96\u0005k\u0000\u0000\u0c96\u0c98\u0005l\u0000\u0000\u0c97\u0c95\u0001"+
56322 "\u0000\u0000\u0000\u0c97\u0c98\u0001\u0000\u0000\u0000\u0c98\u0c9b\u0001"+
56323 "\u0000\u0000\u0000\u0c99\u0c9a\u0005?\u0000\u0000\u0c9a\u0c9c\u0003\u00e4"+
56324 "r\u0000\u0c9b\u0c99\u0001\u0000\u0000\u0000\u0c9b\u0c9c\u0001\u0000\u0000"+
56325 "\u0000\u0c9c\u01d1\u0001\u0000\u0000\u0000\u0c9d\u0ca4\u00054\u0000\u0000"+
56326 "\u0c9e\u0ca5\u0003\u01d4\u00ea\u0000\u0c9f\u0ca5\u0003\u01de\u00ef\u0000"+
56327 "\u0ca0\u0ca5\u0003\u01e0\u00f0\u0000\u0ca1\u0ca2\u0005\u0134\u0000\u0000"+
56328 "\u0ca2\u0ca3\u0005f\u0000\u0000\u0ca3\u0ca5\u0005\u01a1\u0000\u0000\u0ca4"+
56329 "\u0c9e\u0001\u0000\u0000\u0000\u0ca4\u0c9f\u0001\u0000\u0000\u0000\u0ca4"+
56330 "\u0ca0\u0001\u0000\u0000\u0000\u0ca4\u0ca1\u0001\u0000\u0000\u0000\u0ca5"+
56331 "\u01d3\u0001\u0000\u0000\u0000\u0ca6\u0ca8\u0005?\u0000\u0000\u0ca7\u0ca6"+
56332 "\u0001\u0000\u0000\u0000\u0ca7\u0ca8\u0001\u0000\u0000\u0000\u0ca8\u0caa"+
56333 "\u0001\u0000\u0000\u0000\u0ca9\u0cab\u0003\u00f8|\u0000\u0caa\u0ca9\u0001"+
56334 "\u0000\u0000\u0000\u0caa\u0cab\u0001\u0000\u0000\u0000\u0cab\u0cac\u0001"+
56335 "\u0000\u0000\u0000\u0cac\u0cb1\u0003\u01d6\u00eb\u0000\u0cad\u0cae\u0005"+
56336 "%\u0000\u0000\u0cae\u0cb0\u0003\u01d6\u00eb\u0000\u0caf\u0cad\u0001\u0000"+
56337 "\u0000\u0000\u0cb0\u0cb3\u0001\u0000\u0000\u0000\u0cb1\u0caf\u0001\u0000"+
56338 "\u0000\u0000\u0cb1\u0cb2\u0001\u0000\u0000\u0000\u0cb2\u01d5\u0001\u0000"+
56339 "\u0000\u0000\u0cb3\u0cb1\u0001\u0000\u0000\u0000\u0cb4\u0cb6\u0003X,\u0000"+
56340 "\u0cb5\u0cb7\u0003\u01d8\u00ec\u0000\u0cb6\u0cb5\u0001\u0000\u0000\u0000"+
56341 "\u0cb6\u0cb7\u0001\u0000\u0000\u0000\u0cb7\u01d7\u0001\u0000\u0000\u0000"+
56342 "\u0cb8\u0cb9\u0005M\u0000\u0000\u0cb9\u0cba\u0005\u001f\u0000\u0000\u0cba"+
56343 "\u0cbf\u0003\u01da\u00ed\u0000\u0cbb\u0cbc\u0005%\u0000\u0000\u0cbc\u0cbe"+
56344 "\u0003\u01da\u00ed\u0000\u0cbd\u0cbb\u0001\u0000\u0000\u0000\u0cbe\u0cc1"+
56345 "\u0001\u0000\u0000\u0000\u0cbf\u0cbd\u0001\u0000\u0000\u0000\u0cbf\u0cc0"+
56346 "\u0001\u0000\u0000\u0000\u0cc0\u0cc2\u0001\u0000\u0000\u0000\u0cc1\u0cbf"+
56347 "\u0001\u0000\u0000\u0000\u0cc2\u0cc3\u0005 \u0000\u0000\u0cc3\u01d9\u0001"+
56348 "\u0000\u0000\u0000\u0cc4\u0cc5\u0005\u012b\u0000\u0000\u0cc5\u0cc6\u0005"+
56349 "\u0018\u0000\u0000\u0cc6\u0cd6\u0005\u02d4\u0000\u0000\u0cc7\u0cc8\u0005"+
56350 "\u0130\u0000\u0000\u0cc8\u0cc9\u0005\u0018\u0000\u0000\u0cc9\u0cd6\u0003"+
56351 "\u01dc\u00ee\u0000\u0cca\u0ccb\u0005\u012c\u0000\u0000\u0ccb\u0cd3\u0005"+
56352 "g\u0000\u0000\u0ccc\u0ccd\u00034\u001a\u0000\u0ccd\u0cce\u0005\u001f\u0000"+
56353 "\u0000\u0cce\u0ccf\u0003H$\u0000\u0ccf\u0cd0\u0005 \u0000\u0000\u0cd0"+
56354 "\u0cd4\u0001\u0000\u0000\u0000\u0cd1\u0cd4\u0003\u00e4r\u0000\u0cd2\u0cd4"+
56355 "\u0005\u02d3\u0000\u0000\u0cd3\u0ccc\u0001\u0000\u0000\u0000\u0cd3\u0cd1"+
56356 "\u0001\u0000\u0000\u0000\u0cd3\u0cd2\u0001\u0000\u0000\u0000\u0cd4\u0cd6"+
56357 "\u0001\u0000\u0000\u0000\u0cd5\u0cc4\u0001\u0000\u0000\u0000\u0cd5\u0cc7"+
56358 "\u0001\u0000\u0000\u0000\u0cd5\u0cca\u0001\u0000\u0000\u0000\u0cd6\u01db"+
56359 "\u0001\u0000\u0000\u0000\u0cd7\u0cd8\u0007\u0000\u0000\u0000\u0cd8\u01dd"+
56360 "\u0001\u0000\u0000\u0000\u0cd9\u0cdb\u0005<\u0000\u0000\u0cda\u0cdc\u0003"+
56361 "\u00f8|\u0000\u0cdb\u0cda\u0001\u0000\u0000\u0000\u0cdb\u0cdc\u0001\u0000"+
56362 "\u0000\u0000\u0cdc\u0cdd\u0001\u0000\u0000\u0000\u0cdd\u0ce2\u0003H$\u0000"+
56363 "\u0cde\u0cdf\u0005%\u0000\u0000\u0cdf\u0ce1\u0003H$\u0000\u0ce0\u0cde"+
56364 "\u0001\u0000\u0000\u0000\u0ce1\u0ce4\u0001\u0000\u0000\u0000\u0ce2\u0ce0"+
56365 "\u0001\u0000\u0000\u0000\u0ce2\u0ce3\u0001\u0000\u0000\u0000\u0ce3\u01df"+
56366 "\u0001\u0000\u0000\u0000\u0ce4\u0ce2\u0001\u0000\u0000\u0000\u0ce5\u0ce7"+
56367 "\u0005>\u0000\u0000\u0ce6\u0ce8\u0003\u00f8|\u0000\u0ce7\u0ce6\u0001\u0000"+
56368 "\u0000\u0000\u0ce7\u0ce8\u0001\u0000\u0000\u0000\u0ce8\u0ce9\u0001\u0000"+
56369 "\u0000\u0000\u0ce9\u0cee\u0003V+\u0000\u0cea\u0ceb\u0005%\u0000\u0000"+
56370 "\u0ceb\u0ced\u0003V+\u0000\u0cec\u0cea\u0001\u0000\u0000\u0000\u0ced\u0cf0"+
56371 "\u0001\u0000\u0000\u0000\u0cee\u0cec\u0001\u0000\u0000\u0000\u0cee\u0cef"+
56372 "\u0001\u0000\u0000\u0000\u0cef\u01e1\u0001\u0000\u0000\u0000\u0cf0\u0cee"+
56373 "\u0001\u0000\u0000\u0000\u0cf1\u0cf3\u0005M\u0000\u0000\u0cf2\u0cf1\u0001"+
56374 "\u0000\u0000\u0000\u0cf2\u0cf3\u0001\u0000\u0000\u0000\u0cf3\u0cf4\u0001"+
56375 "\u0000\u0000\u0000\u0cf4\u0cf5\u0007-\u0000\u0000\u0cf5\u0cf8\u0005?\u0000"+
56376 "\u0000\u0cf6\u0cf9\u0005r\u0000\u0000\u0cf7\u0cf9\u0003X,\u0000\u0cf8"+
56377 "\u0cf6\u0001\u0000\u0000\u0000\u0cf8\u0cf7\u0001\u0000\u0000\u0000\u0cf9"+
56378 "\u01e3\u0001\u0000\u0000\u0000\u0cfa\u0cfb\u0007.\u0000\u0000\u0cfb\u0cfe"+
56379 "\u0005G\u0000\u0000\u0cfc\u0cff\u0005r\u0000\u0000\u0cfd\u0cff\u0003\u00e6"+
56380 "s\u0000\u0cfe\u0cfc\u0001\u0000\u0000\u0000\u0cfe\u0cfd\u0001\u0000\u0000"+
56381 "\u0000\u0cff\u01e5\u0001\u0000\u0000\u0000\u0d00\u0d03\u0005\u0141\u0000"+
56382 "\u0000\u0d01\u0d02\u0005\u00f5\u0000\u0000\u0d02\u0d04\u0003b1\u0000\u0d03"+
56383 "\u0d01\u0001\u0000\u0000\u0000\u0d03\u0d04\u0001\u0000\u0000\u0000\u0d04"+
56384 "\u0d05\u0001\u0000\u0000\u0000\u0d05\u0d06\u0005g\u0000\u0000\u0d06\u0d09"+
56385 "\u0003@ \u0000\u0d07\u0d08\u0005\u00f5\u0000\u0000\u0d08\u0d0a\u0003b"+
56386 "1\u0000\u0d09\u0d07\u0001\u0000\u0000\u0000\u0d09\u0d0a\u0001\u0000\u0000"+
56387 "\u0000\u0d0a\u0d10\u0001\u0000\u0000\u0000\u0d0b\u0d0c\u0005M\u0000\u0000"+
56388 "\u0d0c\u0d0d\u0005\u001f\u0000\u0000\u0d0d\u0d0e\u0003\u00e0p\u0000\u0d0e"+
56389 "\u0d0f\u0005 \u0000\u0000\u0d0f\u0d11\u0001\u0000\u0000\u0000\u0d10\u0d0b"+
56390 "\u0001\u0000\u0000\u0000\u0d10\u0d11\u0001\u0000\u0000\u0000\u0d11\u01e7"+
56391 "\u0001\u0000\u0000\u0000\u0d12\u0d13\u0005:\u0000\u0000\u0d13\u0d16\u0005"+
56392 "\u001f\u0000\u0000\u0d14\u0d17\u0003\u01ea\u00f5\u0000\u0d15\u0d17\u0003"+
56393 "\u01ec\u00f6\u0000\u0d16\u0d14\u0001\u0000\u0000\u0000\u0d16\u0d15\u0001"+
56394 "\u0000\u0000\u0000\u0d17\u0d18\u0001\u0000\u0000\u0000\u0d18\u0d19\u0005"+
56395 " \u0000\u0000\u0d19\u01e9\u0001\u0000\u0000\u0000\u0d1a\u0d1b\u0005\u01b2"+
56396 "\u0000\u0000\u0d1b\u0d1f\u0005\u0018\u0000\u0000\u0d1c\u0d20\u00034\u001a"+
56397 "\u0000\u0d1d\u0d20\u0003\u00e4r\u0000\u0d1e\u0d20\u0005\u02d3\u0000\u0000"+
56398 "\u0d1f\u0d1c\u0001\u0000\u0000\u0000\u0d1f\u0d1d\u0001\u0000\u0000\u0000"+
56399 "\u0d1f\u0d1e\u0001\u0000\u0000\u0000\u0d20\u01eb\u0001\u0000\u0000\u0000"+
56400 "\u0d21\u0d22\u0005\u01a2\u0000\u0000\u0d22\u0d28\u0005\u0018\u0000\u0000"+
56401 "\u0d23\u0d29\u0005b\u0000\u0000\u0d24\u0d26\u0005a\u0000\u0000\u0d25\u0d27"+
56402 "\u0003\u01ee\u00f7\u0000\u0d26\u0d25\u0001\u0000\u0000\u0000\u0d26\u0d27"+
56403 "\u0001\u0000\u0000\u0000\u0d27\u0d29\u0001\u0000\u0000\u0000\u0d28\u0d23"+
56404 "\u0001\u0000\u0000\u0000\u0d28\u0d24\u0001\u0000\u0000\u0000\u0d29\u01ed"+
56405 "\u0001\u0000\u0000\u0000\u0d2a\u0d2e\u0005\u001f\u0000\u0000\u0d2b\u0d2c"+
56406 "\u0005\u01ba\u0000\u0000\u0d2c\u0d2d\u0005\u0018\u0000\u0000\u0d2d\u0d2f"+
56407 "\u0003@ \u0000\u0d2e\u0d2b\u0001\u0000\u0000\u0000\u0d2e\u0d2f\u0001\u0000"+
56408 "\u0000\u0000\u0d2f\u0d31\u0001\u0000\u0000\u0000\u0d30\u0d32\u0003\u01f0"+
56409 "\u00f8\u0000\u0d31\u0d30\u0001\u0000\u0000\u0000\u0d31\u0d32\u0001\u0000"+
56410 "\u0000\u0000\u0d32\u0d34\u0001\u0000\u0000\u0000\u0d33\u0d35\u0003\u01f2"+
56411 "\u00f9\u0000\u0d34\u0d33\u0001\u0000\u0000\u0000\u0d34\u0d35\u0001\u0000"+
56412 "\u0000\u0000\u0d35\u0d36\u0001\u0000\u0000\u0000\u0d36\u0d37\u0005 \u0000"+
56413 "\u0000\u0d37\u01ef\u0001\u0000\u0000\u0000\u0d38\u0d3a\u0005%\u0000\u0000"+
56414 "\u0d39\u0d38\u0001\u0000\u0000\u0000\u0d39\u0d3a\u0001\u0000\u0000\u0000"+
56415 "\u0d3a\u0d3b\u0001\u0000\u0000\u0000\u0d3b\u0d3c\u0005\u019f\u0000\u0000"+
56416 "\u0d3c\u0d3d\u0005\u0018\u0000\u0000\u0d3d\u0d3e\u0003\u01dc\u00ee\u0000"+
56417 "\u0d3e\u01f1\u0001\u0000\u0000\u0000\u0d3f\u0d41\u0005%\u0000\u0000\u0d40"+
56418 "\u0d3f\u0001\u0000\u0000\u0000\u0d40\u0d41\u0001\u0000\u0000\u0000\u0d41"+
56419 "\u0d42\u0001\u0000\u0000\u0000\u0d42\u0d43\u0005\u01b9\u0000\u0000\u0d43"+
56420 "\u0d44\u0005\u0018\u0000\u0000\u0d44\u0d45\u0003\u01f4\u00fa\u0000\u0d45"+
56421 "\u01f3\u0001\u0000\u0000\u0000\u0d46\u0d4a\u0005\u0128\u0000\u0000\u0d47"+
56422 "\u0d48\u0005\u02d4\u0000\u0000\u0d48\u0d4a\u0007/\u0000\u0000\u0d49\u0d46"+
56423 "\u0001\u0000\u0000\u0000\u0d49\u0d47\u0001\u0000\u0000\u0000\u0d4a\u01f5"+
56424 "\u0001\u0000\u0000\u0000\u0d4b\u0d4e\u0003\u01f8\u00fc\u0000\u0d4c\u0d4f"+
56425 "\u0003\u01fa\u00fd\u0000\u0d4d\u0d4f\u0003\u01fe\u00ff\u0000\u0d4e\u0d4c"+
56426 "\u0001\u0000\u0000\u0000\u0d4e\u0d4d\u0001\u0000\u0000\u0000\u0d4f\u01f7"+
56427 "\u0001\u0000\u0000\u0000\u0d50\u0d51\u0005>\u0000\u0000\u0d51\u0d52\u0003"+
56428 "V+\u0000\u0d52\u01f9\u0001\u0000\u0000\u0000\u0d53\u0d59\u0005\u010d\u0000"+
56429 "\u0000\u0d54\u0d5a\u0003\u0198\u00cc\u0000\u0d55\u0d57\u0003R)\u0000\u0d56"+
56430 "\u0d58\u0003\u01fc\u00fe\u0000\u0d57\u0d56\u0001\u0000\u0000\u0000\u0d57"+
56431 "\u0d58\u0001\u0000\u0000\u0000\u0d58\u0d5a\u0001\u0000\u0000\u0000\u0d59"+
56432 "\u0d54\u0001\u0000\u0000\u0000\u0d59\u0d55\u0001\u0000\u0000\u0000\u0d5a"+
56433 "\u01fb\u0001\u0000\u0000\u0000\u0d5b\u0d5c\u0005a\u0000\u0000\u0d5c\u0d5f"+
56434 "\u0003\u00e4r\u0000\u0d5d\u0d5f\u0005\u009a\u0000\u0000\u0d5e\u0d5b\u0001"+
56435 "\u0000\u0000\u0000\u0d5e\u0d5d\u0001\u0000\u0000\u0000\u0d5f\u01fd\u0001"+
56436 "\u0000\u0000\u0000\u0d60\u0d61\u0005\u010c\u0000\u0000\u0d61\u0d69\u0005"+
56437 "\u010f\u0000\u0000\u0d62\u0d63\u0005M\u0000\u0000\u0d63\u0d64\u0005\u019c"+
56438 "\u0000\u0000\u0d64\u0d65\u0005\u0018\u0000\u0000\u0d65\u0d67\u0005\u02d4"+
56439 "\u0000\u0000\u0d66\u0d68\u0005\u0116\u0000\u0000\u0d67\u0d66\u0001\u0000"+
56440 "\u0000\u0000\u0d67\u0d68\u0001\u0000\u0000\u0000\u0d68\u0d6a\u0001\u0000"+
56441 "\u0000\u0000\u0d69\u0d62\u0001\u0000\u0000\u0000\u0d69\u0d6a\u0001\u0000"+
56442 "\u0000\u0000\u0d6a\u0d6c\u0001\u0000\u0000\u0000\u0d6b\u0d6d\u0003\u0182"+
56443 "\u00c1\u0000\u0d6c\u0d6b\u0001\u0000\u0000\u0000\u0d6c\u0d6d\u0001\u0000"+
56444 "\u0000\u0000\u0d6d\u01ff\u0001\u0000\u0000\u0000\u0d6e\u0d6f\u0005:\u0000"+
56445 "\u0000\u0d6f\u0d70\u0005\u001f\u0000\u0000\u0d70\u0d71\u0005\u01bb\u0000"+
56446 "\u0000\u0d71\u0d72\u0005\u0018\u0000\u0000\u0d72\u0d73\u00070\u0000\u0000"+
56447 "\u0d73\u0d81\u0005 \u0000\u0000\u0d74\u0d75\u0005\u01ae\u0000\u0000\u0d75"+
56448 "\u0d76\u0005\u0018\u0000\u0000\u0d76\u0d81\u0005a\u0000\u0000\u0d77\u0d78"+
56449 "\u0005\u011b\u0000\u0000\u0d78\u0d79\u0005\u0018\u0000\u0000\u0d79\u0d81"+
56450 "\u0007+\u0000\u0000\u0d7a\u0d7b\u0005\u01a2\u0000\u0000\u0d7b\u0d7c\u0005"+
56451 "\u0018\u0000\u0000\u0d7c\u0d7e\u0005a\u0000\u0000\u0d7d\u0d7f\u0003\u0202"+
56452 "\u0101\u0000\u0d7e\u0d7d\u0001\u0000\u0000\u0000\u0d7e\u0d7f\u0001\u0000"+
56453 "\u0000\u0000\u0d7f\u0d81\u0001\u0000\u0000\u0000\u0d80\u0d6e\u0001\u0000"+
56454 "\u0000\u0000\u0d80\u0d74\u0001\u0000\u0000\u0000\u0d80\u0d77\u0001\u0000"+
56455 "\u0000\u0000\u0d80\u0d7a\u0001\u0000\u0000\u0000\u0d81\u0201\u0001\u0000"+
56456 "\u0000\u0000\u0d82\u0d83\u0005\u001f\u0000\u0000\u0d83\u0d84\u0005\u01ba"+
56457 "\u0000\u0000\u0d84\u0d85\u0005\u0018\u0000\u0000\u0d85\u0d8a\u0003@ \u0000"+
56458 "\u0d86\u0d87\u0005%\u0000\u0000\u0d87\u0d88\u0005\u019f\u0000\u0000\u0d88"+
56459 "\u0d89\u0005\u0018\u0000\u0000\u0d89\u0d8b\u0003\u01dc\u00ee\u0000\u0d8a"+
56460 "\u0d86\u0001\u0000\u0000\u0000\u0d8a\u0d8b\u0001\u0000\u0000\u0000\u0d8b"+
56461 "\u0d8c\u0001\u0000\u0000\u0000\u0d8c\u0d8d\u0005 \u0000\u0000\u0d8d\u0203"+
56462 "\u0001\u0000\u0000\u0000\u0d8e\u0d8f\u0005\u01f6\u0000\u0000\u0d8f\u0d90"+
56463 "\u0005\u0018\u0000\u0000\u0d90\u0d92\u00071\u0000\u0000\u0d91\u0d8e\u0001"+
56464 "\u0000\u0000\u0000\u0d91\u0d92\u0001\u0000\u0000\u0000\u0d92\u0d94\u0001"+
56465 "\u0000\u0000\u0000\u0d93\u0d95\u0003\u0206\u0103\u0000\u0d94\u0d93\u0001"+
56466 "\u0000\u0000\u0000\u0d94\u0d95\u0001\u0000\u0000\u0000\u0d95\u0d98\u0001"+
56467 "\u0000\u0000\u0000\u0d96\u0d97\u0005\u010e\u0000\u0000\u0d97\u0d99\u0003"+
56468 "\u00e4r\u0000\u0d98\u0d96\u0001\u0000\u0000\u0000\u0d98\u0d99\u0001\u0000"+
56469 "\u0000\u0000\u0d99\u0da3\u0001\u0000\u0000\u0000\u0d9a\u0d9b\u0005M\u0000"+
56470 "\u0000\u0d9b\u0da0\u0003\u0208\u0104\u0000\u0d9c\u0d9d\u0005%\u0000\u0000"+
56471 "\u0d9d\u0d9f\u0003\u0208\u0104\u0000\u0d9e\u0d9c\u0001\u0000\u0000\u0000"+
56472 "\u0d9f\u0da2\u0001\u0000\u0000\u0000\u0da0\u0d9e\u0001\u0000\u0000\u0000"+
56473 "\u0da0\u0da1\u0001\u0000\u0000\u0000\u0da1\u0da4\u0001\u0000\u0000\u0000"+
56474 "\u0da2\u0da0\u0001\u0000\u0000\u0000\u0da3\u0d9a\u0001\u0000\u0000\u0000"+
56475 "\u0da3\u0da4\u0001\u0000\u0000\u0000\u0da4\u0205\u0001\u0000\u0000\u0000"+
56476 "\u0da5\u0da7\u0005a\u0000\u0000\u0da6\u0da8\u0005@\u0000\u0000\u0da7\u0da6"+
56477 "\u0001\u0000\u0000\u0000\u0da7\u0da8\u0001\u0000\u0000\u0000\u0da8\u0da9"+
56478 "\u0001\u0000\u0000\u0000\u0da9\u0dae\u0003\u020c\u0106\u0000\u0daa\u0dab"+
56479 "\u0005%\u0000\u0000\u0dab\u0dad\u0003\u020c\u0106\u0000\u0dac\u0daa\u0001"+
56480 "\u0000\u0000\u0000\u0dad\u0db0\u0001\u0000\u0000\u0000\u0dae\u0dac\u0001"+
56481 "\u0000\u0000\u0000\u0dae\u0daf\u0001\u0000\u0000\u0000\u0daf\u0db5\u0001"+
56482 "\u0000\u0000\u0000\u0db0\u0dae\u0001\u0000\u0000\u0000\u0db1\u0db2\u0005"+
56483 "%\u0000\u0000\u0db2\u0db4\u0003\u0210\u0108\u0000\u0db3\u0db1\u0001\u0000"+
56484 "\u0000\u0000\u0db4\u0db7\u0001\u0000\u0000\u0000\u0db5\u0db3\u0001\u0000"+
56485 "\u0000\u0000\u0db5\u0db6\u0001\u0000\u0000\u0000\u0db6\u0db8\u0001\u0000"+
56486 "\u0000\u0000\u0db7\u0db5\u0001\u0000\u0000\u0000\u0db8\u0db9\u0003\u0214"+
56487 "\u010a\u0000\u0db9\u0207\u0001\u0000\u0000\u0000\u0dba\u0dbb\u0005\u011e"+
56488 "\u0000\u0000\u0dbb\u0dc0\u0003\u020a\u0105\u0000\u0dbc\u0dbd\u0005%\u0000"+
56489 "\u0000\u0dbd\u0dbf\u0003\u020a\u0105\u0000\u0dbe\u0dbc\u0001\u0000\u0000"+
56490 "\u0000\u0dbf\u0dc2\u0001\u0000\u0000\u0000\u0dc0\u0dbe\u0001\u0000\u0000"+
56491 "\u0000\u0dc0\u0dc1\u0001\u0000\u0000\u0000\u0dc1\u0ddd\u0001\u0000\u0000"+
56492 "\u0000\u0dc2\u0dc0\u0001\u0000\u0000\u0000\u0dc3\u0dc4\u0005\u0290\u0000"+
56493 "\u0000\u0dc4\u0dc5\u0005\u0018\u0000\u0000\u0dc5\u0ddd\u0003\u00e4r\u0000"+
56494 "\u0dc6\u0dc7\u0005\u0291\u0000\u0000\u0dc7\u0dc8\u0005\u0018\u0000\u0000"+
56495 "\u0dc8\u0ddd\u0003\u00e4r\u0000\u0dc9\u0dca\u0005\u0293\u0000\u0000\u0dca"+
56496 "\u0dcb\u0005\u0018\u0000\u0000\u0dcb\u0ddd\u0007\u0000\u0000\u0000\u0dcc"+
56497 "\u0dcd\u0005\u0294\u0000\u0000\u0dcd\u0dce\u0005\u0018\u0000\u0000\u0dce"+
56498 "\u0ddd\u0007\u0000\u0000\u0000\u0dcf\u0dd0\u0005\u0295\u0000\u0000\u0dd0"+
56499 "\u0dd1\u0005\u0018\u0000\u0000\u0dd1\u0ddd\u0003\u00e4r\u0000\u0dd2\u0dd3"+
56500 "\u0005\u0205\u0000\u0000\u0dd3\u0ddd\u0007\u0000\u0000\u0000\u0dd4\u0dd5"+
56501 "\u0005\u0206\u0000\u0000\u0dd5\u0ddd\u0007\u0000\u0000\u0000\u0dd6\u0dd7"+
56502 "\u0005\u0296\u0000\u0000\u0dd7\u0dd8\u0005\u0018\u0000\u0000\u0dd8\u0dd9"+
56503 "\u0005a\u0000\u0000\u0dd9\u0dda\u0005\u0297\u0000\u0000\u0dda\u0ddb\u0005"+
56504 "\u0018\u0000\u0000\u0ddb\u0ddd\u0003\u00e4r\u0000\u0ddc\u0dba\u0001\u0000"+
56505 "\u0000\u0000\u0ddc\u0dc3\u0001\u0000\u0000\u0000\u0ddc\u0dc6\u0001\u0000"+
56506 "\u0000\u0000\u0ddc\u0dc9\u0001\u0000\u0000\u0000\u0ddc\u0dcc\u0001\u0000"+
56507 "\u0000\u0000\u0ddc\u0dcf\u0001\u0000\u0000\u0000\u0ddc\u0dd2\u0001\u0000"+
56508 "\u0000\u0000\u0ddc\u0dd4\u0001\u0000\u0000\u0000\u0ddc\u0dd6\u0001\u0000"+
56509 "\u0000\u0000\u0ddd\u0209\u0001\u0000\u0000\u0000\u0dde\u0ddf\u0005\u0204"+
56510 "\u0000\u0000\u0ddf\u0de0\u0005\u0018\u0000\u0000\u0de0\u0de5\u00072\u0000"+
56511 "\u0000\u0de1\u0de2\u0005\u0297\u0000\u0000\u0de2\u0de3\u0005\u0018\u0000"+
56512 "\u0000\u0de3\u0de5\u0003\u00e4r\u0000\u0de4\u0dde\u0001\u0000\u0000\u0000"+
56513 "\u0de4\u0de1\u0001\u0000\u0000\u0000\u0de5\u020b\u0001\u0000\u0000\u0000"+
56514 "\u0de6\u0de7\u0005\u001f\u0000\u0000\u0de7\u0de8\u0005\u00aa\u0000\u0000"+
56515 "\u0de8\u0de9\u0005\u0018\u0000\u0000\u0de9\u0dea\u0003\u00e4r\u0000\u0dea"+
56516 "\u0deb\u0005%\u0000\u0000\u0deb\u0dec\u0005\u01f8\u0000\u0000\u0dec\u0ded"+
56517 "\u0005\u0018\u0000\u0000\u0ded\u0dee\u0005\u02d3\u0000\u0000\u0dee\u0def"+
56518 "\u0003\u020e\u0107\u0000\u0def\u0df0\u0005 \u0000\u0000\u0df0\u020d\u0001"+
56519 "\u0000\u0000\u0000\u0df1\u0df2\u0005%\u0000\u0000\u0df2\u0df3\u0005\u01f9"+
56520 "\u0000\u0000\u0df3\u0df4\u0005\u0018\u0000\u0000\u0df4\u0df6\u0003\u001e"+
56521 "\u000f\u0000\u0df5\u0df7\u00073\u0000\u0000\u0df6\u0df5\u0001\u0000\u0000"+
56522 "\u0000\u0df6\u0df7\u0001\u0000\u0000\u0000\u0df7\u0df9\u0001\u0000\u0000"+
56523 "\u0000\u0df8\u0df1\u0001\u0000\u0000\u0000\u0df8\u0df9\u0001\u0000\u0000"+
56524 "\u0000\u0df9\u0e04\u0001\u0000\u0000\u0000\u0dfa\u0dfb\u0005%\u0000\u0000"+
56525 "\u0dfb\u0dfc\u0005\u01fa\u0000\u0000\u0dfc\u0e02\u0005\u0018\u0000\u0000"+
56526 "\u0dfd\u0dff\u0003\u001e\u000f\u0000\u0dfe\u0e00\u00073\u0000\u0000\u0dff"+
56527 "\u0dfe\u0001\u0000\u0000\u0000\u0dff\u0e00\u0001\u0000\u0000\u0000\u0e00"+
56528 "\u0e03\u0001\u0000\u0000\u0000\u0e01\u0e03\u0005\u01fc\u0000\u0000\u0e02"+
56529 "\u0dfd\u0001\u0000\u0000\u0000\u0e02\u0e01\u0001\u0000\u0000\u0000\u0e03"+
56530 "\u0e05\u0001\u0000\u0000\u0000\u0e04\u0dfa\u0001\u0000\u0000\u0000\u0e04"+
56531 "\u0e05\u0001\u0000\u0000\u0000\u0e05\u0e0d\u0001\u0000\u0000\u0000\u0e06"+
56532 "\u0e07\u0005%\u0000\u0000\u0e07\u0e08\u0005\u01fb\u0000\u0000\u0e08\u0e09"+
56533 "\u0005\u0018\u0000\u0000\u0e09\u0e0b\u0003\u001e\u000f\u0000\u0e0a\u0e0c"+
56534 "\u00074\u0000\u0000\u0e0b\u0e0a\u0001\u0000\u0000\u0000\u0e0b\u0e0c\u0001"+
56535 "\u0000\u0000\u0000\u0e0c\u0e0e\u0001\u0000\u0000\u0000\u0e0d\u0e06\u0001"+
56536 "\u0000\u0000\u0000\u0e0d\u0e0e\u0001\u0000\u0000\u0000\u0e0e\u020f\u0001"+
56537 "\u0000\u0000\u0000\u0e0f\u0e10\u0005\u0203\u0000\u0000\u0e10\u0e12\u0003"+
56538 "\u00e4r\u0000\u0e11\u0e13\u0003\u0212\u0109\u0000\u0e12\u0e11\u0001\u0000"+
56539 "\u0000\u0000\u0e12\u0e13\u0001\u0000\u0000\u0000\u0e13\u0e14\u0001\u0000"+
56540 "\u0000\u0000\u0e14\u0e19\u0003\u020c\u0106\u0000\u0e15\u0e16\u0005%\u0000"+
56541 "\u0000\u0e16\u0e18\u0003\u020c\u0106\u0000\u0e17\u0e15\u0001\u0000\u0000"+
56542 "\u0000\u0e18\u0e1b\u0001\u0000\u0000\u0000\u0e19\u0e17\u0001\u0000\u0000"+
56543 "\u0000\u0e19\u0e1a\u0001\u0000\u0000\u0000\u0e1a\u0211\u0001\u0000\u0000"+
56544 "\u0000\u0e1b\u0e19\u0001\u0000\u0000\u0000\u0e1c\u0e1d\u0005\u0201\u0000"+
56545 "\u0000\u0e1d\u0e1f\u0005\u011e\u0000\u0000\u0e1e\u0e1c\u0001\u0000\u0000"+
56546 "\u0000\u0e1e\u0e1f\u0001\u0000\u0000\u0000\u0e1f\u0e21\u0001\u0000\u0000"+
56547 "\u0000\u0e20\u0e22\u0005\u009a\u0000\u0000\u0e21\u0e20\u0001\u0000\u0000"+
56548 "\u0000\u0e21\u0e22\u0001\u0000\u0000\u0000\u0e22\u0e26\u0001\u0000\u0000"+
56549 "\u0000\u0e23\u0e24\u0005\u0201\u0000\u0000\u0e24\u0e26\u0005\u0202\u0000"+
56550 "\u0000\u0e25\u0e1e\u0001\u0000\u0000\u0000\u0e25\u0e23\u0001\u0000\u0000"+
56551 "\u0000\u0e26\u0213\u0001\u0000\u0000\u0000\u0e27\u0e28\u0005\u018d\u0000"+
56552 "\u0000\u0e28\u0e29\u0005a\u0000\u0000\u0e29\u0e2e\u0003\u020c\u0106\u0000"+
56553 "\u0e2a\u0e2b\u0005%\u0000\u0000\u0e2b\u0e2d\u0003\u020c\u0106\u0000\u0e2c"+
56554 "\u0e2a\u0001\u0000\u0000\u0000\u0e2d\u0e30\u0001\u0000\u0000\u0000\u0e2e"+
56555 "\u0e2c\u0001\u0000\u0000\u0000\u0e2e\u0e2f\u0001\u0000\u0000\u0000\u0e2f"+
56556 "\u0e32\u0001\u0000\u0000\u0000\u0e30\u0e2e\u0001\u0000\u0000\u0000\u0e31"+
56557 "\u0e27\u0001\u0000\u0000\u0000\u0e31\u0e32\u0001\u0000\u0000\u0000\u0e32"+
56558 "\u0215\u0001\u0000\u0000\u0000\u0e33\u0e3d\u0005\u00cd\u0000\u0000\u0e34"+
56559 "\u0e39\u0003\u0218\u010c\u0000\u0e35\u0e36\u0005%\u0000\u0000\u0e36\u0e38"+
56560 "\u0003\u0218\u010c\u0000\u0e37\u0e35\u0001\u0000\u0000\u0000\u0e38\u0e3b"+
56561 "\u0001\u0000\u0000\u0000\u0e39\u0e37\u0001\u0000\u0000\u0000\u0e39\u0e3a"+
56562 "\u0001\u0000\u0000\u0000\u0e3a\u0e3e\u0001\u0000\u0000\u0000\u0e3b\u0e39"+
56563 "\u0001\u0000\u0000\u0000\u0e3c\u0e3e\u0003\u021a\u010d\u0000\u0e3d\u0e34"+
56564 "\u0001\u0000\u0000\u0000\u0e3d\u0e3c\u0001\u0000\u0000\u0000\u0e3e\u0217"+
56565 "\u0001\u0000\u0000\u0000\u0e3f\u0e41\u0003\u00eau\u0000\u0e40\u0e42\u0005"+
56566 "`\u0000\u0000\u0e41\u0e40\u0001\u0000\u0000\u0000\u0e41\u0e42\u0001\u0000"+
56567 "\u0000\u0000\u0e42\u0e43\u0001\u0000\u0000\u0000\u0e43\u0e46\u0003\u00ac"+
56568 "V\u0000\u0e44\u0e45\u0005\u0018\u0000\u0000\u0e45\u0e47\u0003t:\u0000"+
56569 "\u0e46\u0e44\u0001\u0000\u0000\u0000\u0e46\u0e47\u0001\u0000\u0000\u0000"+
56570 "\u0e47\u0e4c\u0001\u0000\u0000\u0000\u0e48\u0e49\u0003\u00eau\u0000\u0e49"+
56571 "\u0e4a\u0005\u00ce\u0000\u0000\u0e4a\u0e4c\u0001\u0000\u0000\u0000\u0e4b"+
56572 "\u0e3f\u0001\u0000\u0000\u0000\u0e4b\u0e48\u0001\u0000\u0000\u0000\u0e4c"+
56573 "\u0219\u0001\u0000\u0000\u0000\u0e4d\u0e4f\u0003\u00eau\u0000\u0e4e\u0e50"+
56574 "\u0005`\u0000\u0000\u0e4f\u0e4e\u0001\u0000\u0000\u0000\u0e4f\u0e50\u0001"+
56575 "\u0000\u0000\u0000\u0e50\u0e51\u0001\u0000\u0000\u0000\u0e51\u0e52\u0003"+
56576 "\u021c\u010e\u0000\u0e52\u021b\u0001\u0000\u0000\u0000\u0e53\u0e54\u0005"+
56577 ";\u0000\u0000\u0e54\u0e55\u0005\u001f\u0000\u0000\u0e55\u0e5a\u0003\u021e"+
56578 "\u010f\u0000\u0e56\u0e57\u0005%\u0000\u0000\u0e57\u0e59\u0003\u021e\u010f"+
56579 "\u0000\u0e58\u0e56\u0001\u0000\u0000\u0000\u0e59\u0e5c\u0001\u0000\u0000"+
56580 "\u0000\u0e5a\u0e58\u0001\u0000\u0000\u0000\u0e5a\u0e5b\u0001\u0000\u0000"+
56581 "\u0000\u0e5b\u0e5d\u0001\u0000\u0000\u0000\u0e5c\u0e5a\u0001\u0000\u0000"+
56582 "\u0000\u0e5d\u0e5e\u0005 \u0000\u0000\u0e5e\u021d\u0001\u0000\u0000\u0000"+
56583 "\u0e5f\u0e62\u0003\u0220\u0110\u0000\u0e60\u0e62\u0003\u0224\u0112\u0000"+
56584 "\u0e61\u0e5f\u0001\u0000\u0000\u0000\u0e61\u0e60\u0001\u0000\u0000\u0000"+
56585 "\u0e62\u021f\u0001\u0000\u0000\u0000\u0e63\u0e67\u0003H$\u0000\u0e64\u0e68"+
56586 "\u0003\u00aeW\u0000\u0e65\u0e66\u0005`\u0000\u0000\u0e66\u0e68\u0003b"+
56587 "1\u0000\u0e67\u0e64\u0001\u0000\u0000\u0000\u0e67\u0e65\u0001\u0000\u0000"+
56588 "\u0000\u0e68\u0e6b\u0001\u0000\u0000\u0000\u0e69\u0e6a\u0005\u010e\u0000"+
56589 "\u0000\u0e6a\u0e6c\u0003Z-\u0000\u0e6b\u0e69\u0001\u0000\u0000\u0000\u0e6b"+
56590 "\u0e6c\u0001\u0000\u0000\u0000\u0e6c\u0e79\u0001\u0000\u0000\u0000\u0e6d"+
56591 "\u0e6e\u0005\u009a\u0000\u0000\u0e6e\u0e70\u0003b1\u0000\u0e6f\u0e6d\u0001"+
56592 "\u0000\u0000\u0000\u0e6f\u0e70\u0001\u0000\u0000\u0000\u0e70\u0e7a\u0001"+
56593 "\u0000\u0000\u0000\u0e71\u0e77\u0005\u0124\u0000\u0000\u0e72\u0e73\u0005"+
56594 "\u001f\u0000\u0000\u0e73\u0e74\u0005\u02d4\u0000\u0000\u0e74\u0e75\u0005"+
56595 "%\u0000\u0000\u0e75\u0e76\u0005\u02d4\u0000\u0000\u0e76\u0e78\u0005 \u0000"+
56596 "\u0000\u0e77\u0e72\u0001\u0000\u0000\u0000\u0e77\u0e78\u0001\u0000\u0000"+
56597 "\u0000\u0e78\u0e7a\u0001\u0000\u0000\u0000\u0e79\u0e6f\u0001\u0000\u0000"+
56598 "\u0000\u0e79\u0e71\u0001\u0000\u0000\u0000\u0e7a\u0e7c\u0001\u0000\u0000"+
56599 "\u0000\u0e7b\u0e7d\u0005\u013d\u0000\u0000\u0e7c\u0e7b\u0001\u0000\u0000"+
56600 "\u0000\u0e7c\u0e7d\u0001\u0000\u0000\u0000\u0e7d\u0e7e\u0001\u0000\u0000"+
56601 "\u0000\u0e7e\u0e7f\u0003\u0222\u0111\u0000\u0e7f\u0221\u0001\u0000\u0000"+
56602 "\u0000\u0e80\u0e84\u0005l\u0000\u0000\u0e81\u0e82\u0005k\u0000\u0000\u0e82"+
56603 "\u0e84\u0005l\u0000\u0000\u0e83\u0e80\u0001\u0000\u0000\u0000\u0e83\u0e81"+
56604 "\u0001\u0000\u0000\u0000\u0e83\u0e84\u0001\u0000\u0000\u0000\u0e84\u0e92"+
56605 "\u0001\u0000\u0000\u0000\u0e85\u0e86\u0005@\u0000\u0000\u0e86\u0e89\u0005"+
56606 "C\u0000\u0000\u0e87\u0e89\u0005A\u0000\u0000\u0e88\u0e85\u0001\u0000\u0000"+
56607 "\u0000\u0e88\u0e87\u0001\u0000\u0000\u0000\u0e88\u0e89\u0001\u0000\u0000"+
56608 "\u0000\u0e89\u0e92\u0001\u0000\u0000\u0000\u0e8a\u0e8b\u0005\u00fe\u0000"+
56609 "\u0000\u0e8b\u0e8c\u0005\u001f\u0000\u0000\u0e8c\u0e8d\u0003b1\u0000\u0e8d"+
56610 "\u0e8e\u0005 \u0000\u0000\u0e8e\u0e92\u0001\u0000\u0000\u0000\u0e8f\u0e90"+
56611 "\u0005M\u0000\u0000\u0e90\u0e92\u0003\u00ccf\u0000\u0e91\u0e83\u0001\u0000"+
56612 "\u0000\u0000\u0e91\u0e88\u0001\u0000\u0000\u0000\u0e91\u0e8a\u0001\u0000"+
56613 "\u0000\u0000\u0e91\u0e8f\u0001\u0000\u0000\u0000\u0e92\u0223\u0001\u0000"+
56614 "\u0000\u0000\u0e93\u0e94\u0005@\u0000\u0000\u0e94\u0e97\u0005C\u0000\u0000"+
56615 "\u0e95\u0e97\u0005A\u0000\u0000\u0e96\u0e93\u0001\u0000\u0000\u0000\u0e96"+
56616 "\u0e95\u0001\u0000\u0000\u0000\u0e97\u0e98\u0001\u0000\u0000\u0000\u0e98"+
56617 "\u0e99\u0005\u001f\u0000\u0000\u0e99\u0e9e\u0003H$\u0000\u0e9a\u0e9b\u0005"+
56618 "%\u0000\u0000\u0e9b\u0e9d\u0003H$\u0000\u0e9c\u0e9a\u0001\u0000\u0000"+
56619 "\u0000\u0e9d\u0ea0\u0001\u0000\u0000\u0000\u0e9e\u0e9c\u0001\u0000\u0000"+
56620 "\u0000\u0e9e\u0e9f\u0001\u0000\u0000\u0000\u0e9f\u0ea1\u0001\u0000\u0000"+
56621 "\u0000\u0ea0\u0e9e\u0001\u0000\u0000\u0000\u0ea1\u0ea2\u0005 \u0000\u0000"+
56622 "\u0ea2\u0ea6\u0001\u0000\u0000\u0000\u0ea3\u0ea4\u0005\u00fe\u0000\u0000"+
56623 "\u0ea4\u0ea6\u0003b1\u0000\u0ea5\u0e96\u0001\u0000\u0000\u0000\u0ea5\u0ea3"+
56624 "\u0001\u0000\u0000\u0000\u0ea6\u0225\u0001\u0000\u0000\u0000\u0ea7\u0ea8"+
56625 "\u0005:\u0000\u0000\u0ea8\u0ea9\u0003\u00eau\u0000\u0ea9\u0eaa\u0003\u0228"+
56626 "\u0114\u0000\u0eaa\u0227\u0001\u0000\u0000\u0000\u0eab\u0eac\u0005\u0014"+
56627 "\u0000\u0000\u0eac\u0eae\u0003*\u0015\u0000\u0ead\u0eab\u0001\u0000\u0000"+
56628 "\u0000\u0ead\u0eae\u0001\u0000\u0000\u0000\u0eae\u0eaf\u0001\u0000\u0000"+
56629 "\u0000\u0eaf\u0eb6\u0005\u0018\u0000\u0000\u0eb0\u0eb7\u0003b1\u0000\u0eb1"+
56630 "\u0eb2\u0003*\u0015\u0000\u0eb2\u0eb3\u0005\u0014\u0000\u0000\u0eb3\u0eb4"+
56631 "\u0003*\u0015\u0000\u0eb4\u0eb7\u0001\u0000\u0000\u0000\u0eb5\u0eb7\u0005"+
56632 "\u02da\u0000\u0000\u0eb6\u0eb0\u0001\u0000\u0000\u0000\u0eb6\u0eb1\u0001"+
56633 "\u0000\u0000\u0000\u0eb6\u0eb5\u0001\u0000\u0000\u0000\u0eb7\u0ec3\u0001"+
56634 "\u0000\u0000\u0000\u0eb8\u0eb9\u0003\u022e\u0117\u0000\u0eb9\u0eba\u0003"+
56635 "b1\u0000\u0eba\u0ec3\u0001\u0000\u0000\u0000\u0ebb\u0ebc\u0005\u0018\u0000"+
56636 "\u0000\u0ebc\u0ec3\u0003\u022a\u0115\u0000\u0ebd\u0ebe\u0005\u0018\u0000"+
56637 "\u0000\u0ebe\u0ebf\u0005\u001f\u0000\u0000\u0ebf\u0ec0\u0003\u02dc\u016e"+
56638 "\u0000\u0ec0\u0ec1\u0005 \u0000\u0000\u0ec1\u0ec3\u0001\u0000\u0000\u0000"+
56639 "\u0ec2\u0ead\u0001\u0000\u0000\u0000\u0ec2\u0eb8\u0001\u0000\u0000\u0000"+
56640 "\u0ec2\u0ebb\u0001\u0000\u0000\u0000\u0ec2\u0ebd\u0001\u0000\u0000\u0000"+
56641 "\u0ec3\u0229\u0001\u0000\u0000\u0000\u0ec4\u0ed8\u0003\u00eau\u0000\u0ec5"+
56642 "\u0ec6\u0005\u00ce\u0000\u0000\u0ec6\u0ec7\u0003\u022c\u0116\u0000\u0ec7"+
56643 "\u0ec8\u0005f\u0000\u0000\u0ec8\u0ec9\u0003\u02dc\u016e\u0000\u0ec9\u0ed5"+
56644 "\u0005f\u0000\u0000\u0eca\u0ed6\u0005\u00cb\u0000\u0000\u0ecb\u0ecc\u0005"+
56645 "0\u0000\u0000\u0ecc\u0ecd\u0005\u00cf\u0000\u0000\u0ecd\u0ed2\u0003N\'"+
56646 "\u0000\u0ece\u0ecf\u0005%\u0000\u0000\u0ecf\u0ed1\u0003N\'\u0000\u0ed0"+
56647 "\u0ece\u0001\u0000\u0000\u0000\u0ed1\u0ed4\u0001\u0000\u0000\u0000\u0ed2"+
56648 "\u0ed0\u0001\u0000\u0000\u0000\u0ed2\u0ed3\u0001\u0000\u0000\u0000\u0ed3"+
56649 "\u0ed6\u0001\u0000\u0000\u0000\u0ed4\u0ed2\u0001\u0000\u0000\u0000\u0ed5"+
56650 "\u0eca\u0001\u0000\u0000\u0000\u0ed5\u0ecb\u0001\u0000\u0000\u0000\u0ed6"+
56651 "\u0ed8\u0001\u0000\u0000\u0000\u0ed7\u0ec4\u0001\u0000\u0000\u0000\u0ed7"+
56652 "\u0ec5\u0001\u0000\u0000\u0000\u0ed8\u022b\u0001\u0000\u0000\u0000\u0ed9"+
56653 "\u0edb\u00075\u0000\u0000\u0eda\u0ed9\u0001\u0000\u0000\u0000\u0eda\u0edb"+
56654 "\u0001\u0000\u0000\u0000\u0edb\u0edd\u0001\u0000\u0000\u0000\u0edc\u0ede"+
56655 "\u00076\u0000\u0000\u0edd\u0edc\u0001\u0000\u0000\u0000\u0edd\u0ede\u0001"+
56656 "\u0000\u0000\u0000\u0ede\u0ee0\u0001\u0000\u0000\u0000\u0edf\u0ee1\u0007"+
56657 "7\u0000\u0000\u0ee0\u0edf\u0001\u0000\u0000\u0000\u0ee0\u0ee1\u0001\u0000"+
56658 "\u0000\u0000\u0ee1\u0ee3\u0001\u0000\u0000\u0000\u0ee2\u0ee4\u0005\u020f"+
56659 "\u0000\u0000\u0ee3\u0ee2\u0001\u0000\u0000\u0000\u0ee3\u0ee4\u0001\u0000"+
56660 "\u0000\u0000\u0ee4\u022d\u0001\u0000\u0000\u0000\u0ee5\u0ee6\u0005\u000f"+
56661 "\u0000\u0000\u0ee6\u0ef6\u0005\u0018\u0000\u0000\u0ee7\u0ee8\u0005\u0010"+
56662 "\u0000\u0000\u0ee8\u0ef6\u0005\u0018\u0000\u0000\u0ee9\u0eea\u0005\u0011"+
56663 "\u0000\u0000\u0eea\u0ef6\u0005\u0018\u0000\u0000\u0eeb\u0eec\u0005\u0012"+
56664 "\u0000\u0000\u0eec\u0ef6\u0005\u0018\u0000\u0000\u0eed\u0eee\u0005\r\u0000"+
56665 "\u0000\u0eee\u0ef6\u0005\u0018\u0000\u0000\u0eef\u0ef0\u0005\t\u0000\u0000"+
56666 "\u0ef0\u0ef6\u0005\u0018\u0000\u0000\u0ef1\u0ef2\u0005\f\u0000\u0000\u0ef2"+
56667 "\u0ef6\u0005\u0018\u0000\u0000\u0ef3\u0ef4\u0005\b\u0000\u0000\u0ef4\u0ef6"+
56668 "\u0005\u0018\u0000\u0000\u0ef5\u0ee5\u0001\u0000\u0000\u0000\u0ef5\u0ee7"+
56669 "\u0001\u0000\u0000\u0000\u0ef5\u0ee9\u0001\u0000\u0000\u0000\u0ef5\u0eeb"+
56670 "\u0001\u0000\u0000\u0000\u0ef5\u0eed\u0001\u0000\u0000\u0000\u0ef5\u0eef"+
56671 "\u0001\u0000\u0000\u0000\u0ef5\u0ef1\u0001\u0000\u0000\u0000\u0ef5\u0ef3"+
56672 "\u0001\u0000\u0000\u0000\u0ef6\u022f\u0001\u0000\u0000\u0000\u0ef7\u0f0b"+
56673 "\u0005\u001f\u0000\u0000\u0ef8\u0efa\u0003\u00eau\u0000\u0ef9\u0efb\u0005"+
56674 "`\u0000\u0000\u0efa\u0ef9\u0001\u0000\u0000\u0000\u0efa\u0efb\u0001\u0000"+
56675 "\u0000\u0000\u0efb\u0eff\u0001\u0000\u0000\u0000\u0efc\u0efd\u0003L&\u0000"+
56676 "\u0efd\u0efe\u0005\u0014\u0000\u0000\u0efe\u0f00\u0001\u0000\u0000\u0000"+
56677 "\u0eff\u0efc\u0001\u0000\u0000\u0000\u0eff\u0f00\u0001\u0000\u0000\u0000"+
56678 "\u0f00\u0f01\u0001\u0000\u0000\u0000\u0f01\u0f04\u0003\u00acV\u0000\u0f02"+
56679 "\u0f03\u0005\u0018\u0000\u0000\u0f03\u0f05\u0003\u00e4r\u0000\u0f04\u0f02"+
56680 "\u0001\u0000\u0000\u0000\u0f04\u0f05\u0001\u0000\u0000\u0000\u0f05\u0f07"+
56681 "\u0001\u0000\u0000\u0000\u0f06\u0f08\u0005\u00d3\u0000\u0000\u0f07\u0f06"+
56682 "\u0001\u0000\u0000\u0000\u0f07\u0f08\u0001\u0000\u0000\u0000\u0f08\u0f0a"+
56683 "\u0001\u0000\u0000\u0000\u0f09\u0ef8\u0001\u0000\u0000\u0000\u0f0a\u0f0d"+
56684 "\u0001\u0000\u0000\u0000\u0f0b\u0f09\u0001\u0000\u0000\u0000\u0f0b\u0f0c"+
56685 "\u0001\u0000\u0000\u0000\u0f0c\u0f0e\u0001\u0000\u0000\u0000\u0f0d\u0f0b"+
56686 "\u0001\u0000\u0000\u0000\u0f0e\u0f0f\u0005 \u0000\u0000\u0f0f\u0231\u0001"+
56687 "\u0000\u0000\u0000\u0f10\u0f14\u0003\u0238\u011c\u0000\u0f11\u0f14\u0003"+
56688 "\u0236\u011b\u0000\u0f12\u0f14\u0003\u0234\u011a\u0000\u0f13\u0f10\u0001"+
56689 "\u0000\u0000\u0000\u0f13\u0f11\u0001\u0000\u0000\u0000\u0f13\u0f12\u0001"+
56690 "\u0000\u0000\u0000\u0f14\u0233\u0001\u0000\u0000\u0000\u0f15\u0f16\u0005"+
56691 "\u00d0\u0000\u0000\u0f16\u0f17\u0003\u00eau\u0000\u0f17\u0f18\u0005;\u0000"+
56692 "\u0000\u0f18\u0f22\u0003\u0150\u00a8\u0000\u0f19\u0f1a\u0005M\u0000\u0000"+
56693 "\u0f1a\u0f1f\u0003\u023e\u011f\u0000\u0f1b\u0f1c\u0005%\u0000\u0000\u0f1c"+
56694 "\u0f1e\u0003\u023e\u011f\u0000\u0f1d\u0f1b\u0001\u0000\u0000\u0000\u0f1e"+
56695 "\u0f21\u0001\u0000\u0000\u0000\u0f1f\u0f1d\u0001\u0000\u0000\u0000\u0f1f"+
56696 "\u0f20\u0001\u0000\u0000\u0000\u0f20\u0f23\u0001\u0000\u0000\u0000\u0f21"+
56697 "\u0f1f\u0001\u0000\u0000\u0000\u0f22\u0f19\u0001\u0000\u0000\u0000\u0f22"+
56698 "\u0f23\u0001\u0000\u0000\u0000\u0f23\u0f25\u0001\u0000\u0000\u0000\u0f24"+
56699 "\u0f26\u0005`\u0000\u0000\u0f25\u0f24\u0001\u0000\u0000\u0000\u0f25\u0f26"+
56700 "\u0001\u0000\u0000\u0000\u0f26\u0f27\u0001\u0000\u0000\u0000\u0f27\u0f28"+
56701 "\u0005}\u0000\u0000\u0f28\u0f29\u0003\u023c\u011e\u0000\u0f29\u0f2a\u0005"+
56702 "\u00d2\u0000\u0000\u0f2a\u0f2b\u0005\u011d\u0000\u0000\u0f2b\u0235\u0001"+
56703 "\u0000\u0000\u0000\u0f2c\u0f2d\u0005\u00d0\u0000\u0000\u0f2d\u0f37\u0005"+
56704 ";\u0000\u0000\u0f2e\u0f2f\u0005M\u0000\u0000\u0f2f\u0f34\u0003\u023e\u011f"+
56705 "\u0000\u0f30\u0f31\u0005%\u0000\u0000\u0f31\u0f33\u0003\u023e\u011f\u0000"+
56706 "\u0f32\u0f30\u0001\u0000\u0000\u0000\u0f33\u0f36\u0001\u0000\u0000\u0000"+
56707 "\u0f34\u0f32\u0001\u0000\u0000\u0000\u0f34\u0f35\u0001\u0000\u0000\u0000"+
56708 "\u0f35\u0f38\u0001\u0000\u0000\u0000\u0f36\u0f34\u0001\u0000\u0000\u0000"+
56709 "\u0f37\u0f2e\u0001\u0000\u0000\u0000\u0f37\u0f38\u0001\u0000\u0000\u0000"+
56710 "\u0f38\u0f3a\u0001\u0000\u0000\u0000\u0f39\u0f3b\u0005`\u0000\u0000\u0f3a"+
56711 "\u0f39\u0001\u0000\u0000\u0000\u0f3a\u0f3b\u0001\u0000\u0000\u0000\u0f3b"+
56712 "\u0f3c\u0001\u0000\u0000\u0000\u0f3c\u0f3e\u0005\u00d2\u0000\u0000\u0f3d"+
56713 "\u0f3f\u0005\u001f\u0000\u0000\u0f3e\u0f3d\u0001\u0000\u0000\u0000\u0f3e"+
56714 "\u0f3f\u0001\u0000\u0000\u0000\u0f3f\u0f40\u0001\u0000\u0000\u0000\u0f40"+
56715 "\u0f42\u0003\u02dc\u016e\u0000\u0f41\u0f43\u0005 \u0000\u0000\u0f42\u0f41"+
56716 "\u0001\u0000\u0000\u0000\u0f42\u0f43\u0001\u0000\u0000\u0000\u0f43\u0237"+
56717 "\u0001\u0000\u0000\u0000\u0f44\u0f45\u0005\u00d0\u0000\u0000\u0f45\u0f4f"+
56718 "\u0003\u00acV\u0000\u0f46\u0f47\u0005M\u0000\u0000\u0f47\u0f4c\u0003\u023e"+
56719 "\u011f\u0000\u0f48\u0f49\u0005%\u0000\u0000\u0f49\u0f4b\u0003\u023e\u011f"+
56720 "\u0000\u0f4a\u0f48\u0001\u0000\u0000\u0000\u0f4b\u0f4e\u0001\u0000\u0000"+
56721 "\u0000\u0f4c\u0f4a\u0001\u0000\u0000\u0000\u0f4c\u0f4d\u0001\u0000\u0000"+
56722 "\u0000\u0f4d\u0f50\u0001\u0000\u0000\u0000\u0f4e\u0f4c\u0001\u0000\u0000"+
56723 "\u0000\u0f4f\u0f46\u0001\u0000\u0000\u0000\u0f4f\u0f50\u0001\u0000\u0000"+
56724 "\u0000\u0f50\u0f52\u0001\u0000\u0000\u0000\u0f51\u0f53\u0005`\u0000\u0000"+
56725 "\u0f52\u0f51\u0001\u0000\u0000\u0000\u0f52\u0f53\u0001\u0000\u0000\u0000"+
56726 "\u0f53\u0f54\u0001\u0000\u0000\u0000\u0f54\u0f55\u0005}\u0000\u0000\u0f55"+
56727 "\u0f56\u0003\u023c\u011e\u0000\u0f56\u0f57\u0005\u00d2\u0000\u0000\u0f57"+
56728 "\u0f58\u0003b1\u0000\u0f58\u0239\u0001\u0000\u0000\u0000\u0f59\u0f5a\u0003"+
56729 "\u0154\u00aa\u0000\u0f5a\u0f5b\u0003\u015a\u00ad\u0000\u0f5b\u0f5e\u0001"+
56730 "\u0000\u0000\u0000\u0f5c\u0f5e\u0003\u018a\u00c5\u0000\u0f5d\u0f59\u0001"+
56731 "\u0000\u0000\u0000\u0f5d\u0f5c\u0001\u0000\u0000\u0000\u0f5e\u0f62\u0001"+
56732 "\u0000\u0000\u0000\u0f5f\u0f61\u0003\u018e\u00c7\u0000\u0f60\u0f5f\u0001"+
56733 "\u0000\u0000\u0000\u0f61\u0f64\u0001\u0000\u0000\u0000\u0f62\u0f60\u0001"+
56734 "\u0000\u0000\u0000\u0f62\u0f63\u0001\u0000\u0000\u0000\u0f63\u023b\u0001"+
56735 "\u0000\u0000\u0000\u0f64\u0f62\u0001\u0000\u0000\u0000\u0f65\u0f67\u0003"+
56736 "\u0240\u0120\u0000\u0f66\u0f65\u0001\u0000\u0000\u0000\u0f67\u0f6a\u0001"+
56737 "\u0000\u0000\u0000\u0f68\u0f66\u0001\u0000\u0000\u0000\u0f68\u0f69\u0001"+
56738 "\u0000\u0000\u0000\u0f69\u023d\u0001\u0000\u0000\u0000\u0f6a\u0f68\u0001"+
56739 "\u0000\u0000\u0000\u0f6b\u0f6d\u0005\u0175\u0000\u0000\u0f6c\u0f6b\u0001"+
56740 "\u0000\u0000\u0000\u0f6c\u0f6d\u0001\u0000\u0000\u0000\u0f6d\u0f85\u0001"+
56741 "\u0000\u0000\u0000\u0f6e\u0f70\u0005\u0210\u0000\u0000\u0f6f\u0f6e\u0001"+
56742 "\u0000\u0000\u0000\u0f6f\u0f70\u0001\u0000\u0000\u0000\u0f70\u0f85\u0001"+
56743 "\u0000\u0000\u0000\u0f71\u0f72\u0005\u00d0\u0000\u0000\u0f72\u0f73\u0005"+
56744 "l\u0000\u0000\u0f73\u0f74\u0005a\u0000\u0000\u0f74\u0f75\u0005l\u0000"+
56745 "\u0000\u0f75\u0f7b\u0005\u0212\u0000\u0000\u0f76\u0f77\u0005\u0213\u0000"+
56746 "\u0000\u0f77\u0f78\u0005a\u0000\u0000\u0f78\u0f79\u0005l\u0000\u0000\u0f79"+
56747 "\u0f7b\u0005\u0212\u0000\u0000\u0f7a\u0f71\u0001\u0000\u0000\u0000\u0f7a"+
56748 "\u0f76\u0001\u0000\u0000\u0000\u0f7a\u0f7b\u0001\u0000\u0000\u0000\u0f7b"+
56749 "\u0f85\u0001\u0000\u0000\u0000\u0f7c\u0f7e\u0003\u00ecv\u0000\u0f7d\u0f7c"+
56750 "\u0001\u0000\u0000\u0000\u0f7d\u0f7e\u0001\u0000\u0000\u0000\u0f7e\u0f85"+
56751 "\u0001\u0000\u0000\u0000\u0f7f\u0f80\u0005\u0292\u0000\u0000\u0f80\u0f81"+
56752 "\u0005\u0018\u0000\u0000\u0f81\u0f83\u0007\u0000\u0000\u0000\u0f82\u0f7f"+
56753 "\u0001\u0000\u0000\u0000\u0f82\u0f83\u0001\u0000\u0000\u0000\u0f83\u0f85"+
56754 "\u0001\u0000\u0000\u0000\u0f84\u0f6c\u0001\u0000\u0000\u0000\u0f84\u0f6f"+
56755 "\u0001\u0000\u0000\u0000\u0f84\u0f7a\u0001\u0000\u0000\u0000\u0f84\u0f7d"+
56756 "\u0001\u0000\u0000\u0000\u0f84\u0f82\u0001\u0000\u0000\u0000\u0f85\u023f"+
56757 "\u0001\u0000\u0000\u0000\u0f86\u0f91\u0003\u0102\u0081\u0000\u0f87\u0f91"+
56758 "\u0003\u0118\u008c\u0000\u0f88\u0f91\u0003\u012c\u0096\u0000\u0f89\u0f91"+
56759 "\u0003\u0140\u00a0\u0000\u0f8a\u0f91\u0003\u02ba\u015d\u0000\u0f8b\u0f91"+
56760 "\u0003\u02c8\u0164\u0000\u0f8c\u0f91\u0003\u02d2\u0169\u0000\u0f8d\u0f91"+
56761 "\u0003\u02dc\u016e\u0000\u0f8e\u0f91\u0003\u0226\u0113\u0000\u0f8f\u0f91"+
56762 "\u0003\u0216\u010b\u0000\u0f90\u0f86\u0001\u0000\u0000\u0000\u0f90\u0f87"+
56763 "\u0001\u0000\u0000\u0000\u0f90\u0f88\u0001\u0000\u0000\u0000\u0f90\u0f89"+
56764 "\u0001\u0000\u0000\u0000\u0f90\u0f8a\u0001\u0000\u0000\u0000\u0f90\u0f8b"+
56765 "\u0001\u0000\u0000\u0000\u0f90\u0f8c\u0001\u0000\u0000\u0000\u0f90\u0f8d"+
56766 "\u0001\u0000\u0000\u0000\u0f90\u0f8e\u0001\u0000\u0000\u0000\u0f90\u0f8f"+
56767 "\u0001\u0000\u0000\u0000\u0f91\u0f93\u0001\u0000\u0000\u0000\u0f92\u0f94"+
56768 "\u0005+\u0000\u0000\u0f93\u0f92\u0001\u0000\u0000\u0000\u0f93\u0f94\u0001"+
56769 "\u0000\u0000\u0000\u0f94\u0241\u0001\u0000\u0000\u0000\u0f95\u0f9a\u0003"+
56770 "\u0244\u0122\u0000\u0f96\u0f97\u0005%\u0000\u0000\u0f97\u0f99\u0003\u0244"+
56771 "\u0122\u0000\u0f98\u0f96\u0001\u0000\u0000\u0000\u0f99\u0f9c\u0001\u0000"+
56772 "\u0000\u0000\u0f9a\u0f98\u0001\u0000\u0000\u0000\u0f9a\u0f9b\u0001\u0000"+
56773 "\u0000\u0000\u0f9b\u0f9e\u0001\u0000\u0000\u0000\u0f9c\u0f9a\u0001\u0000"+
56774 "\u0000\u0000\u0f9d\u0f95\u0001\u0000\u0000\u0000\u0f9d\u0f9e\u0001\u0000"+
56775 "\u0000\u0000\u0f9e\u0243\u0001\u0000\u0000\u0000\u0f9f\u0fa1\u0003\u0218"+
56776 "\u010c\u0000\u0fa0\u0fa2\u0005\u0214\u0000\u0000\u0fa1\u0fa0\u0001\u0000"+
56777 "\u0000\u0000\u0fa1\u0fa2\u0001\u0000\u0000\u0000\u0fa2\u0fa5\u0001\u0000"+
56778 "\u0000\u0000\u0fa3\u0fa4\u0005\u0018\u0000\u0000\u0fa4\u0fa6\u0003\u001a"+
56779 "\r\u0000\u0fa5\u0fa3\u0001\u0000\u0000\u0000\u0fa5\u0fa6\u0001\u0000\u0000"+
56780 "\u0000\u0fa6\u0fa8\u0001\u0000\u0000\u0000\u0fa7\u0fa9\u00078\u0000\u0000"+
56781 "\u0fa8\u0fa7\u0001\u0000\u0000\u0000\u0fa8\u0fa9\u0001\u0000\u0000\u0000"+
56782 "\u0fa9\u0245\u0001\u0000\u0000\u0000\u0faa\u0fac\u0003\u0248\u0124\u0000"+
56783 "\u0fab\u0faa\u0001\u0000\u0000\u0000\u0fab\u0fac\u0001\u0000\u0000\u0000"+
56784 "\u0fac\u0faf\u0001\u0000\u0000\u0000\u0fad\u0fae\u0005f\u0000\u0000\u0fae"+
56785 "\u0fb0\u0005\u013b\u0000\u0000\u0faf\u0fad\u0001\u0000\u0000\u0000\u0faf"+
56786 "\u0fb0\u0001\u0000\u0000\u0000\u0fb0\u0fb1\u0001\u0000\u0000\u0000\u0fb1"+
56787 "\u0fb2\u0005`\u0000\u0000\u0fb2\u0fb3\u0003\u024c\u0126\u0000\u0fb3\u0247"+
56788 "\u0001\u0000\u0000\u0000\u0fb4\u0fbd\u0005M\u0000\u0000\u0fb5\u0fba\u0003"+
56789 "\u024a\u0125\u0000\u0fb6\u0fb7\u0005%\u0000\u0000\u0fb7\u0fb9\u0003\u024a"+
56790 "\u0125\u0000\u0fb8\u0fb6\u0001\u0000\u0000\u0000\u0fb9\u0fbc\u0001\u0000"+
56791 "\u0000\u0000\u0fba\u0fb8\u0001\u0000\u0000\u0000\u0fba\u0fbb\u0001\u0000"+
56792 "\u0000\u0000\u0fbb\u0fbe\u0001\u0000\u0000\u0000\u0fbc\u0fba\u0001\u0000"+
56793 "\u0000\u0000\u0fbd\u0fb5\u0001\u0000\u0000\u0000\u0fbd\u0fbe\u0001\u0000"+
56794 "\u0000\u0000\u0fbe\u0249\u0001\u0000\u0000\u0000\u0fbf\u0fc5\u0005\u0175"+
56795 "\u0000\u0000\u0fc0\u0fc5\u0005\u01f0\u0000\u0000\u0fc1\u0fc5\u0003\u00ec"+
56796 "v\u0000\u0fc2\u0fc5\u0005\u021f\u0000\u0000\u0fc3\u0fc5\u0005\u0210\u0000"+
56797 "\u0000\u0fc4\u0fbf\u0001\u0000\u0000\u0000\u0fc4\u0fc0\u0001\u0000\u0000"+
56798 "\u0000\u0fc4\u0fc1\u0001\u0000\u0000\u0000\u0fc4\u0fc2\u0001\u0000\u0000"+
56799 "\u0000\u0fc4\u0fc3\u0001\u0000\u0000\u0000\u0fc5\u024b\u0001\u0000\u0000"+
56800 "\u0000\u0fc6\u0fc8\u0005}\u0000\u0000\u0fc7\u0fc6\u0001\u0000\u0000\u0000"+
56801 "\u0fc7\u0fc8\u0001\u0000\u0000\u0000\u0fc8\u0fc9\u0001\u0000\u0000\u0000"+
56802 "\u0fc9\u0fcb\u0003\u023c\u011e\u0000\u0fca\u0fcc\u0005\u011d\u0000\u0000"+
56803 "\u0fcb\u0fca\u0001\u0000\u0000\u0000\u0fcb\u0fcc\u0001\u0000\u0000\u0000"+
56804 "\u0fcc\u0fea\u0001\u0000\u0000\u0000\u0fcd\u0fce\u0005\u0168\u0000\u0000"+
56805 "\u0fce\u0fd2\u0005\u00aa\u0000\u0000\u0fcf\u0fd0\u0003L&\u0000\u0fd0\u0fd1"+
56806 "\u0005\u0014\u0000\u0000\u0fd1\u0fd3\u0001\u0000\u0000\u0000\u0fd2\u0fcf"+
56807 "\u0001\u0000\u0000\u0000\u0fd2\u0fd3\u0001\u0000\u0000\u0000\u0fd3\u0fd7"+
56808 "\u0001\u0000\u0000\u0000\u0fd4\u0fd5\u0003L&\u0000\u0fd5\u0fd6\u0005\u0014"+
56809 "\u0000\u0000\u0fd6\u0fd8\u0001\u0000\u0000\u0000\u0fd7\u0fd4\u0001\u0000"+
56810 "\u0000\u0000\u0fd7\u0fd8\u0001\u0000\u0000\u0000\u0fd8\u0fd9\u0001\u0000"+
56811 "\u0000\u0000\u0fd9\u0fea\u0003N\'\u0000\u0fda\u0fdb\u0005}\u0000\u0000"+
56812 "\u0fdb\u0fdc\u0005\u0217\u0000\u0000\u0fdc\u0fdd\u0005M\u0000\u0000\u0fdd"+
56813 "\u0fe2\u0003\u024e\u0127\u0000\u0fde\u0fdf\u0005%\u0000\u0000\u0fdf\u0fe1"+
56814 "\u0003\u024e\u0127\u0000\u0fe0\u0fde\u0001\u0000\u0000\u0000\u0fe1\u0fe4"+
56815 "\u0001\u0000\u0000\u0000\u0fe2\u0fe0\u0001\u0000\u0000\u0000\u0fe2\u0fe3"+
56816 "\u0001\u0000\u0000\u0000\u0fe3\u0fe5\u0001\u0000\u0000\u0000\u0fe4\u0fe2"+
56817 "\u0001\u0000\u0000\u0000\u0fe5\u0fe7\u0003\u023c\u011e\u0000\u0fe6\u0fe8"+
56818 "\u0005\u011d\u0000\u0000\u0fe7\u0fe6\u0001\u0000\u0000\u0000\u0fe7\u0fe8"+
56819 "\u0001\u0000\u0000\u0000\u0fe8\u0fea\u0001\u0000\u0000\u0000\u0fe9\u0fc7"+
56820 "\u0001\u0000\u0000\u0000\u0fe9\u0fcd\u0001\u0000\u0000\u0000\u0fe9\u0fda"+
56821 "\u0001\u0000\u0000\u0000\u0fea\u024d\u0001\u0000\u0000\u0000\u0feb\u0fec"+
56822 "\u0005\u0218\u0000\u0000\u0fec\u0fed\u0005\u0018\u0000\u0000\u0fed\u1002"+
56823 "\u0003\u001c\u000e\u0000\u0fee\u0fef\u0005\u0107\u0000\u0000\u0fef\u0ff0"+
56824 "\u0005\u021a\u0000\u0000\u0ff0\u0ff1\u0005\u0219\u0000\u0000\u0ff1\u0ff6"+
56825 "\u0005\u0018\u0000\u0000\u0ff2\u0ff7\u0005\u021b\u0000\u0000\u0ff3\u0ff4"+
56826 "\u0005\u021c\u0000\u0000\u0ff4\u0ff7\u0005\u021d\u0000\u0000\u0ff5\u0ff7"+
56827 "\u0005\u021e\u0000\u0000\u0ff6\u0ff2\u0001\u0000\u0000\u0000\u0ff6\u0ff3"+
56828 "\u0001\u0000\u0000\u0000\u0ff6\u0ff5\u0001\u0000\u0000\u0000\u0ff7\u1002"+
56829 "\u0001\u0000\u0000\u0000\u0ff8\u0ff9\u0005\u028b\u0000\u0000\u0ff9\u0ffa"+
56830 "\u0005\u0018\u0000\u0000\u0ffa\u1002\u0003\u001e\u000f\u0000\u0ffb\u0ffc"+
56831 "\u0005\u0298\u0000\u0000\u0ffc\u0ffd\u0005\u0018\u0000\u0000\u0ffd\u1002"+
56832 "\u0003\u001c\u000e\u0000\u0ffe\u0fff\u0005\u0299\u0000\u0000\u0fff\u1000"+
56833 "\u0005\u0018\u0000\u0000\u1000\u1002\u0007\u0000\u0000\u0000\u1001\u0feb"+
56834 "\u0001\u0000\u0000\u0000\u1001\u0fee\u0001\u0000\u0000\u0000\u1001\u0ff8"+
56835 "\u0001\u0000\u0000\u0000\u1001\u0ffb\u0001\u0000\u0000\u0000\u1001\u0ffe"+
56836 "\u0001\u0000\u0000\u0000\u1002\u024f\u0001\u0000\u0000\u0000\u1003\u1004"+
56837 "\u0005M\u0000\u0000\u1004\u1009\u0003\u0252\u0129\u0000\u1005\u1006\u0005"+
56838 "%\u0000\u0000\u1006\u1008\u0003\u0252\u0129\u0000\u1007\u1005\u0001\u0000"+
56839 "\u0000\u0000\u1008\u100b\u0001\u0000\u0000\u0000\u1009\u1007\u0001\u0000"+
56840 "\u0000\u0000\u1009\u100a\u0001\u0000\u0000\u0000\u100a\u100d\u0001\u0000"+
56841 "\u0000\u0000\u100b\u1009\u0001\u0000\u0000\u0000\u100c\u1003\u0001\u0000"+
56842 "\u0000\u0000\u100c\u100d\u0001\u0000\u0000\u0000\u100d\u100e\u0001\u0000"+
56843 "\u0000\u0000\u100e\u1010\u0005`\u0000\u0000\u100f\u1011\u0003\u0254\u012a"+
56844 "\u0000\u1010\u100f\u0001\u0000\u0000\u0000\u1010\u1011\u0001\u0000\u0000"+
56845 "\u0000\u1011\u1012\u0001\u0000\u0000\u0000\u1012\u1016\u0003\u02dc\u016e"+
56846 "\u0000\u1013\u1014\u0005M\u0000\u0000\u1014\u1015\u0005\u00fe\u0000\u0000"+
56847 "\u1015\u1017\u0005\u0101\u0000\u0000\u1016\u1013\u0001\u0000\u0000\u0000"+
56848 "\u1016\u1017\u0001\u0000\u0000\u0000\u1017\u0251\u0001\u0000\u0000\u0000"+
56849 "\u1018\u1019\u00079\u0000\u0000\u1019\u0253\u0001\u0000\u0000\u0000\u101a"+
56850 "\u101b\u0005M\u0000\u0000\u101b\u1020\u0003\u0256\u012b\u0000\u101c\u101d"+
56851 "\u0005%\u0000\u0000\u101d\u101f\u0003\u0256\u012b\u0000\u101e\u101c\u0001"+
56852 "\u0000\u0000\u0000\u101f\u1022\u0001\u0000\u0000\u0000\u1020\u101e\u0001"+
56853 "\u0000\u0000\u0000\u1020\u1021\u0001\u0000\u0000\u0000\u1021\u0255\u0001"+
56854 "\u0000\u0000\u0000\u1022\u1020\u0001\u0000\u0000\u0000\u1023\u102f\u0003"+
56855 "N\'\u0000\u1024\u1025\u0005\u001f\u0000\u0000\u1025\u102a\u0003H$\u0000"+
56856 "\u1026\u1027\u0005%\u0000\u0000\u1027\u1029\u0003H$\u0000\u1028\u1026"+
56857 "\u0001\u0000\u0000\u0000\u1029\u102c\u0001\u0000\u0000\u0000\u102a\u1028"+
56858 "\u0001\u0000\u0000\u0000\u102a\u102b\u0001\u0000\u0000\u0000\u102b\u102d"+
56859 "\u0001\u0000\u0000\u0000\u102c\u102a\u0001\u0000\u0000\u0000\u102d\u102e"+
56860 "\u0005 \u0000\u0000\u102e\u1030\u0001\u0000\u0000\u0000\u102f\u1024\u0001"+
56861 "\u0000\u0000\u0000\u102f\u1030\u0001\u0000\u0000\u0000\u1030\u1031\u0001"+
56862 "\u0000\u0000\u0000\u1031\u1032\u0005`\u0000\u0000\u1032\u1033\u0005\u001f"+
56863 "\u0000\u0000\u1033\u1034\u0003\u02dc\u016e\u0000\u1034\u1035\u0005 \u0000"+
56864 "\u0000\u1035\u0257\u0001\u0000\u0000\u0000\u1036\u1037\u0005M\u0000\u0000"+
56865 "\u1037\u1038\u0003\u025a\u012d\u0000\u1038\u1039\u0005%\u0000\u0000\u1039"+
56866 "\u103a\u0003\u025a\u012d\u0000\u103a\u103c\u0001\u0000\u0000\u0000\u103b"+
56867 "\u1036\u0001\u0000\u0000\u0000\u103b\u103c\u0001\u0000\u0000\u0000\u103c"+
56868 "\u1041\u0001\u0000\u0000\u0000\u103d\u1042\u0005f\u0000\u0000\u103e\u1042"+
56869 "\u0005\u0221\u0000\u0000\u103f\u1040\u0005\u0222\u0000\u0000\u1040\u1042"+
56870 "\u0005\u00cf\u0000\u0000\u1041\u103d\u0001\u0000\u0000\u0000\u1041\u103e"+
56871 "\u0001\u0000\u0000\u0000\u1041\u103f\u0001\u0000\u0000\u0000\u1042\u1044"+
56872 "\u0001\u0000\u0000\u0000\u1043\u1045\u0005/\u0000\u0000\u1044\u1043\u0001"+
56873 "\u0000\u0000\u0000\u1044\u1045\u0001\u0000\u0000\u0000\u1045\u1047\u0001"+
56874 "\u0000\u0000\u0000\u1046\u1048\u0005%\u0000\u0000\u1047\u1046\u0001\u0000"+
56875 "\u0000\u0000\u1047\u1048\u0001\u0000\u0000\u0000\u1048\u104a\u0001\u0000"+
56876 "\u0000\u0000\u1049\u104b\u00050\u0000\u0000\u104a\u1049\u0001\u0000\u0000"+
56877 "\u0000\u104a\u104b\u0001\u0000\u0000\u0000\u104b\u104d\u0001\u0000\u0000"+
56878 "\u0000\u104c\u104e\u0005%\u0000\u0000\u104d\u104c\u0001\u0000\u0000\u0000"+
56879 "\u104d\u104e\u0001\u0000\u0000\u0000\u104e\u1050\u0001\u0000\u0000\u0000"+
56880 "\u104f\u1051\u00051\u0000\u0000\u1050\u104f\u0001\u0000\u0000\u0000\u1050"+
56881 "\u1051\u0001\u0000\u0000\u0000\u1051\u1053\u0001\u0000\u0000\u0000\u1052"+
56882 "\u1054\u0005%\u0000\u0000\u1053\u1052\u0001\u0000\u0000\u0000\u1053\u1054"+
56883 "\u0001\u0000\u0000\u0000\u1054\u1057\u0001\u0000\u0000\u0000\u1055\u1056"+
56884 "\u0005M\u0000\u0000\u1056\u1058\u0005\u0223\u0000\u0000\u1057\u1055\u0001"+
56885 "\u0000\u0000\u0000\u1057\u1058\u0001\u0000\u0000\u0000\u1058\u105c\u0001"+
56886 "\u0000\u0000\u0000\u1059\u105a\u0005k\u0000\u0000\u105a\u105b\u0005f\u0000"+
56887 "\u0000\u105b\u105d\u0005\u013b\u0000\u0000\u105c\u1059\u0001\u0000\u0000"+
56888 "\u0000\u105c\u105d\u0001\u0000\u0000\u0000\u105d\u105e\u0001\u0000\u0000"+
56889 "\u0000\u105e\u1063\u0005`\u0000\u0000\u105f\u1064\u0003\u023c\u011e\u0000"+
56890 "\u1060\u1061\u0005\u0168\u0000\u0000\u1061\u1062\u0005\u00aa\u0000\u0000"+
56891 "\u1062\u1064\u0003\u025c\u012e\u0000\u1063\u105f\u0001\u0000\u0000\u0000"+
56892 "\u1063\u1060\u0001\u0000\u0000\u0000\u1064\u0259\u0001\u0000\u0000\u0000"+
56893 "\u1065\u106b\u0005\u0175\u0000\u0000\u1066\u106b\u0003\u00ecv\u0000\u1067"+
56894 "\u106b\u0005\u021f\u0000\u0000\u1068\u106b\u0005\u0210\u0000\u0000\u1069"+
56895 "\u106b\u0001\u0000\u0000\u0000\u106a\u1065\u0001\u0000\u0000\u0000\u106a"+
56896 "\u1066\u0001\u0000\u0000\u0000\u106a\u1067\u0001\u0000\u0000\u0000\u106a"+
56897 "\u1068\u0001\u0000\u0000\u0000\u106a\u1069\u0001\u0000\u0000\u0000\u106b"+
56898 "\u025b\u0001\u0000\u0000\u0000\u106c\u106d\u0003N\'\u0000\u106d\u106e"+
56899 "\u0005\u0014\u0000\u0000\u106e\u106f\u0003N\'\u0000\u106f\u1070\u0005"+
56900 "\u0014\u0000\u0000\u1070\u1071\u0003N\'\u0000\u1071\u025d\u0001\u0000"+
56901 "\u0000\u0000\u1072\u1078\u0003@ \u0000\u1073\u1078\u0003:\u001d\u0000"+
56902 "\u1074\u1075\u0005r\u0000\u0000\u1075\u1078\u0005\u0154\u0000\u0000\u1076"+
56903 "\u1078\u0005\u00cc\u0000\u0000\u1077\u1072\u0001\u0000\u0000\u0000\u1077"+
56904 "\u1073\u0001\u0000\u0000\u0000\u1077\u1074\u0001\u0000\u0000\u0000\u1077"+
56905 "\u1076\u0001\u0000\u0000\u0000\u1078\u025f\u0001\u0000\u0000\u0000\u1079"+
56906 "\u107a\u0005`\u0000\u0000\u107a\u1096\u0003\u00acV\u0000\u107b\u107c\u0007"+
56907 ":\u0000\u0000\u107c\u107d\u0005M\u0000\u0000\u107d\u1096\u0003b1\u0000"+
56908 "\u107e\u107f\u0005\u0224\u0000\u0000\u107f\u1080\u0005w\u0000\u0000\u1080"+
56909 "\u1096\u0003b1\u0000\u1081\u1083\u0005\u0227\u0000\u0000\u1082\u1084\u0003"+
56910 "b1\u0000\u1083\u1082\u0001\u0000\u0000\u0000\u1083\u1084\u0001\u0000\u0000"+
56911 "\u0000\u1084\u1096\u0001\u0000\u0000\u0000\u1085\u1086\u0005\u0100\u0000"+
56912 "\u0000\u1086\u1096\u0005\u0227\u0000\u0000\u1087\u1089\u0005\u0228\u0000"+
56913 "\u0000\u1088\u108a\u0003b1\u0000\u1089\u1088\u0001\u0000\u0000\u0000\u1089"+
56914 "\u108a\u0001\u0000\u0000\u0000\u108a\u1096\u0001\u0000\u0000\u0000\u108b"+
56915 "\u108c\u0005\u0100\u0000\u0000\u108c\u1096\u0005\u0228\u0000\u0000\u108d"+
56916 "\u108e\u0005\u0226\u0000\u0000\u108e\u1096\u0003b1\u0000\u108f\u1090\u0005"+
56917 "\u0100\u0000\u0000\u1090\u1096\u0005\u0226\u0000\u0000\u1091\u1093\u0005"+
56918 "\u0100\u0000\u0000\u1092\u1091\u0001\u0000\u0000\u0000\u1092\u1093\u0001"+
56919 "\u0000\u0000\u0000\u1093\u1094\u0001\u0000\u0000\u0000\u1094\u1096\u0005"+
56920 "\u0225\u0000\u0000\u1095\u1079\u0001\u0000\u0000\u0000\u1095\u107b\u0001"+
56921 "\u0000\u0000\u0000\u1095\u107e\u0001\u0000\u0000\u0000\u1095\u1081\u0001"+
56922 "\u0000\u0000\u0000\u1095\u1085\u0001\u0000\u0000\u0000\u1095\u1087\u0001"+
56923 "\u0000\u0000\u0000\u1095\u108b\u0001\u0000\u0000\u0000\u1095\u108d\u0001"+
56924 "\u0000\u0000\u0000\u1095\u108f\u0001\u0000\u0000\u0000\u1095\u1092\u0001"+
56925 "\u0000\u0000\u0000\u1096\u0261\u0001\u0000\u0000\u0000\u1097\u1098\u0005"+
56926 "\u0230\u0000\u0000\u1098\u109a\u0003R)\u0000\u1099\u1097\u0001\u0000\u0000"+
56927 "\u0000\u1099\u109a\u0001\u0000\u0000\u0000\u109a\u109d\u0001\u0000\u0000"+
56928 "\u0000\u109b\u109c\u0005_\u0000\u0000\u109c\u109e\u0003\u0264\u0132\u0000"+
56929 "\u109d\u109b\u0001\u0000\u0000\u0000\u109d\u109e\u0001\u0000\u0000\u0000"+
56930 "\u109e\u10ab\u0001\u0000\u0000\u0000\u109f\u10a0\u0005M\u0000\u0000\u10a0"+
56931 "\u10a1\u0005\u001f\u0000\u0000\u10a1\u10a6\u0003\u026a\u0135\u0000\u10a2"+
56932 "\u10a3\u0005%\u0000\u0000\u10a3\u10a5\u0003\u026a\u0135\u0000\u10a4\u10a2"+
56933 "\u0001\u0000\u0000\u0000\u10a5\u10a8\u0001\u0000\u0000\u0000\u10a6\u10a4"+
56934 "\u0001\u0000\u0000\u0000\u10a6\u10a7\u0001\u0000\u0000\u0000\u10a7\u10a9"+
56935 "\u0001\u0000\u0000\u0000\u10a8\u10a6\u0001\u0000\u0000\u0000\u10a9\u10aa"+
56936 "\u0005 \u0000\u0000\u10aa\u10ac\u0001\u0000\u0000\u0000\u10ab\u109f\u0001"+
56937 "\u0000\u0000\u0000\u10ab\u10ac\u0001\u0000\u0000\u0000\u10ac\u10b6\u0001"+
56938 "\u0000\u0000\u0000\u10ad\u10b4\u0005a\u0000\u0000\u10ae\u10af\u00034\u001a"+
56939 "\u0000\u10af\u10b0\u0005\u001f\u0000\u0000\u10b0\u10b1\u0003H$\u0000\u10b1"+
56940 "\u10b2\u0005 \u0000\u0000\u10b2\u10b5\u0001\u0000\u0000\u0000\u10b3\u10b5"+
56941 "\u0003N\'\u0000\u10b4\u10ae\u0001\u0000\u0000\u0000\u10b4\u10b3\u0001"+
56942 "\u0000\u0000\u0000\u10b5\u10b7\u0001\u0000\u0000\u0000\u10b6\u10ad\u0001"+
56943 "\u0000\u0000\u0000\u10b6\u10b7\u0001\u0000\u0000\u0000\u10b7\u10bd\u0001"+
56944 "\u0000\u0000\u0000\u10b8\u10bb\u0005\u01b2\u0000\u0000\u10b9\u10bc\u0003"+
56945 "N\'\u0000\u10ba\u10bc\u0003\u001c\u000e\u0000\u10bb\u10b9\u0001\u0000"+
56946 "\u0000\u0000\u10bb\u10ba\u0001\u0000\u0000\u0000\u10bc\u10be\u0001\u0000"+
56947 "\u0000\u0000\u10bd\u10b8\u0001\u0000\u0000\u0000\u10bd\u10be\u0001\u0000"+
56948 "\u0000\u0000\u10be\u0263\u0001\u0000\u0000\u0000\u10bf\u10c4\u0003\u0266"+
56949 "\u0133\u0000\u10c0\u10c1\u0005h\u0000\u0000\u10c1\u10c3\u0003\u0266\u0133"+
56950 "\u0000\u10c2\u10c0\u0001\u0000\u0000\u0000\u10c3\u10c6\u0001\u0000\u0000"+
56951 "\u0000\u10c4\u10c2\u0001\u0000\u0000\u0000\u10c4\u10c5\u0001\u0000\u0000"+
56952 "\u0000\u10c5\u0265\u0001\u0000\u0000\u0000\u10c6\u10c4\u0001\u0000\u0000"+
56953 "\u0000\u10c7\u10c8\u0003H$\u0000\u10c8\u10c9\u0005q\u0000\u0000\u10c9"+
56954 "\u10ca\u0005\u001f\u0000\u0000\u10ca\u10cf\u0003b1\u0000\u10cb\u10cc\u0005"+
56955 "%\u0000\u0000\u10cc\u10ce\u0003b1\u0000\u10cd\u10cb\u0001\u0000\u0000"+
56956 "\u0000\u10ce\u10d1\u0001\u0000\u0000\u0000\u10cf\u10cd\u0001\u0000\u0000"+
56957 "\u0000\u10cf\u10d0\u0001\u0000\u0000\u0000\u10d0\u10d2\u0001\u0000\u0000"+
56958 "\u0000\u10d1\u10cf\u0001\u0000\u0000\u0000\u10d2\u10d3\u0005 \u0000\u0000"+
56959 "\u10d3\u10d9\u0001\u0000\u0000\u0000\u10d4\u10d5\u0003H$";
56960 private static final String _serializedATNSegment2 =
56961 "\u0000\u10d5\u10d6\u0003n7\u0000\u10d6\u10d7\u0003b1\u0000\u10d7\u10d9"+
56962 "\u0001\u0000\u0000\u0000\u10d8\u10c7\u0001\u0000\u0000\u0000\u10d8\u10d4"+
56963 "\u0001\u0000\u0000\u0000\u10d9\u0267\u0001\u0000\u0000\u0000\u10da\u10e1"+
56964 "\u0005\u0139\u0000\u0000\u10db\u10dc\u0005\u00f5\u0000\u0000\u10dc\u10df"+
56965 "\u0005\u0018\u0000\u0000\u10dd\u10e0\u0005r\u0000\u0000\u10de\u10e0\u0003"+
56966 "b1\u0000\u10df\u10dd\u0001\u0000\u0000\u0000\u10df\u10de\u0001\u0000\u0000"+
56967 "\u0000\u10e0\u10e2\u0001\u0000\u0000\u0000\u10e1\u10db\u0001\u0000\u0000"+
56968 "\u0000\u10e1\u10e2\u0001\u0000\u0000\u0000\u10e2\u10ef\u0001\u0000\u0000"+
56969 "\u0000\u10e3\u10e4\u0005M\u0000\u0000\u10e4\u10e5\u0005\u001f\u0000\u0000"+
56970 "\u10e5\u10ea\u0003\u026a\u0135\u0000\u10e6\u10e7\u0005%\u0000\u0000\u10e7"+
56971 "\u10e9\u0003\u026a\u0135\u0000\u10e8\u10e6\u0001\u0000\u0000\u0000\u10e9"+
56972 "\u10ec\u0001\u0000\u0000\u0000\u10ea\u10e8\u0001\u0000\u0000\u0000\u10ea"+
56973 "\u10eb\u0001\u0000\u0000\u0000\u10eb\u10ed\u0001\u0000\u0000\u0000\u10ec"+
56974 "\u10ea\u0001\u0000\u0000\u0000\u10ed\u10ee\u0005 \u0000\u0000\u10ee\u10f0"+
56975 "\u0001\u0000\u0000\u0000\u10ef\u10e3\u0001\u0000\u0000\u0000\u10ef\u10f0"+
56976 "\u0001\u0000\u0000\u0000\u10f0\u1119\u0001\u0000\u0000\u0000\u10f1\u1119"+
56977 "\u0005\u009d\u0000\u0000\u10f2\u10f6\u0005\u022c\u0000\u0000\u10f3\u10f4"+
56978 "\u0005\u00f5\u0000\u0000\u10f4\u10f5\u0005\u0018\u0000\u0000\u10f5\u10f7"+
56979 "\u0003b1\u0000\u10f6\u10f3\u0001\u0000\u0000\u0000\u10f6\u10f7\u0001\u0000"+
56980 "\u0000\u0000\u10f7\u10fd\u0001\u0000\u0000\u0000\u10f8\u10f9\u0005M\u0000"+
56981 "\u0000\u10f9\u10fa\u0005\u001f\u0000\u0000\u10fa\u10fb\u0003\u026e\u0137"+
56982 "\u0000\u10fb\u10fc\u0005 \u0000\u0000\u10fc\u10fe\u0001\u0000\u0000\u0000"+
56983 "\u10fd\u10f8\u0001\u0000\u0000\u0000\u10fd\u10fe\u0001\u0000\u0000\u0000"+
56984 "\u10fe\u1119\u0001\u0000\u0000\u0000\u10ff\u1100\u0005:\u0000\u0000\u1100"+
56985 "\u1101\u0005\u001f\u0000\u0000\u1101\u1102\u0003\u0270\u0138\u0000\u1102"+
56986 "\u1103\u0005%\u0000\u0000\u1103\u1104\u0003\u0270\u0138\u0000\u1104\u1105"+
56987 "\u0001\u0000\u0000\u0000\u1105\u1106\u0005 \u0000\u0000\u1106\u1119\u0001"+
56988 "\u0000\u0000\u0000\u1107\u1114\u0005\u022d\u0000\u0000\u1108\u1109\u0005"+
56989 "M\u0000\u0000\u1109\u110a\u0005\u001f\u0000\u0000\u110a\u110f\u0003\u0272"+
56990 "\u0139\u0000\u110b\u110c\u0005%\u0000\u0000\u110c\u110e\u0003\u0272\u0139"+
56991 "\u0000\u110d\u110b\u0001\u0000\u0000\u0000\u110e\u1111\u0001\u0000\u0000"+
56992 "\u0000\u110f\u110d\u0001\u0000\u0000\u0000\u110f\u1110\u0001\u0000\u0000"+
56993 "\u0000\u1110\u1112\u0001\u0000\u0000\u0000\u1111\u110f\u0001\u0000\u0000"+
56994 "\u0000\u1112\u1113\u0005 \u0000\u0000\u1113\u1115\u0001\u0000\u0000\u0000"+
56995 "\u1114\u1108\u0001\u0000\u0000\u0000\u1114\u1115\u0001\u0000\u0000\u0000"+
56996 "\u1115\u1119\u0001\u0000\u0000\u0000\u1116\u1119\u0005\u022e\u0000\u0000"+
56997 "\u1117\u1119\u0005\u022f\u0000\u0000\u1118\u10da\u0001\u0000\u0000\u0000"+
56998 "\u1118\u10f1\u0001\u0000\u0000\u0000\u1118\u10f2\u0001\u0000\u0000\u0000"+
56999 "\u1118\u10ff\u0001\u0000\u0000\u0000\u1118\u1107\u0001\u0000\u0000\u0000"+
57000 "\u1118\u1116\u0001\u0000\u0000\u0000\u1118\u1117\u0001\u0000\u0000\u0000"+
57001 "\u1119\u0269\u0001\u0000\u0000\u0000\u111a\u111b\u0005\u01b0\u0000\u0000"+
57002 "\u111b\u111c\u0005\u0018\u0000\u0000\u111c\u115e\u0007\u0000\u0000\u0000"+
57003 "\u111d\u111e\u0005\u0120\u0000\u0000\u111e\u111f\u0005\u0018\u0000\u0000"+
57004 "\u111f\u115e\u0003b1\u0000\u1120\u1121\u0005\u01aa\u0000\u0000\u1121\u1122"+
57005 "\u0005\u0018\u0000\u0000\u1122\u115e\u0007\u0000\u0000\u0000\u1123\u1124"+
57006 "\u0005\u01ab\u0000\u0000\u1124\u1125\u0005\u0018\u0000\u0000\u1125\u115e"+
57007 "\u0007\u0000\u0000\u0000\u1126\u1127\u0005\u01a6\u0000\u0000\u1127\u1128"+
57008 "\u0005\u0018\u0000\u0000\u1128\u115e\u0007\u0000\u0000\u0000\u1129\u112a"+
57009 "\u0005\u01a5\u0000\u0000\u112a\u112b\u0005\u0018\u0000\u0000\u112b\u115e"+
57010 "\u0007\u0000\u0000\u0000\u112c\u112d\u0005\u01bc\u0000\u0000\u112d\u112e"+
57011 "\u0005\u0018\u0000\u0000\u112e\u115e\u0007\u0000\u0000\u0000\u112f\u1130"+
57012 "\u0005\u0130\u0000\u0000\u1130\u1136\u0005\u0018\u0000\u0000\u1131\u1133"+
57013 "\u0005a\u0000\u0000\u1132\u1134\u0003\u00e0p\u0000\u1133\u1132\u0001\u0000"+
57014 "\u0000\u0000\u1133\u1134\u0001\u0000\u0000\u0000\u1134\u1137\u0001\u0000"+
57015 "\u0000\u0000\u1135\u1137\u0005b\u0000\u0000\u1136\u1131\u0001\u0000\u0000"+
57016 "\u0000\u1136\u1135\u0001\u0000\u0000\u0000\u1137\u115e\u0001\u0000\u0000"+
57017 "\u0000\u1138\u1139\u0005\u013c\u0000\u0000\u1139\u113a\u0005\u0018\u0000"+
57018 "\u0000\u113a\u115e\u0007\u0000\u0000\u0000\u113b\u113c\u0005\u01ad\u0000"+
57019 "\u0000\u113c\u113d\u0005\u0018\u0000\u0000\u113d\u113f\u0003b1\u0000\u113e"+
57020 "\u1140\u0005\u0116\u0000\u0000\u113f\u113e\u0001\u0000\u0000\u0000\u113f"+
57021 "\u1140\u0001\u0000\u0000\u0000\u1140\u115e\u0001\u0000\u0000\u0000\u1141"+
57022 "\u1142\u0005\u0196\u0000\u0000\u1142\u1143\u0005\u0018\u0000\u0000\u1143"+
57023 "\u115e\u0007\u0000\u0000\u0000\u1144\u1145\u0005\u0195\u0000\u0000\u1145"+
57024 "\u1146\u0005\u0018\u0000\u0000\u1146\u115e\u0007\u0000\u0000\u0000\u1147"+
57025 "\u1148\u0005\u01f2\u0000\u0000\u1148\u1149\u0005\u0018\u0000\u0000\u1149"+
57026 "\u115e\u0007\u0000\u0000\u0000\u114a\u114b\u0005\u012b\u0000\u0000\u114b"+
57027 "\u114c\u0005\u0018\u0000\u0000\u114c\u115e\u0003b1\u0000\u114d\u114e\u0005"+
57028 "\u019e\u0000\u0000\u114e\u114f\u0005\u0018\u0000\u0000\u114f\u115b\u0007"+
57029 "\u001c\u0000\u0000\u1150\u1151\u0005a\u0000\u0000\u1151\u1152\u0005\u00f6"+
57030 "\u0000\u0000\u1152\u1153\u0005\u001f\u0000\u0000\u1153\u1158\u0003\u026c"+
57031 "\u0136\u0000\u1154\u1155\u0005%\u0000\u0000\u1155\u1157\u0003\u026c\u0136"+
57032 "\u0000\u1156\u1154\u0001\u0000\u0000\u0000\u1157\u115a\u0001\u0000\u0000"+
57033 "\u0000\u1158\u1156\u0001\u0000\u0000\u0000\u1158\u1159\u0001\u0000\u0000"+
57034 "\u0000\u1159\u115c\u0001\u0000\u0000\u0000\u115a\u1158\u0001\u0000\u0000"+
57035 "\u0000\u115b\u1150\u0001\u0000\u0000\u0000\u115b\u115c\u0001\u0000\u0000"+
57036 "\u0000\u115c\u115e\u0001\u0000\u0000\u0000\u115d\u111a\u0001\u0000\u0000"+
57037 "\u0000\u115d\u111d\u0001\u0000\u0000\u0000\u115d\u1120\u0001\u0000\u0000"+
57038 "\u0000\u115d\u1123\u0001\u0000\u0000\u0000\u115d\u1126\u0001\u0000\u0000"+
57039 "\u0000\u115d\u1129\u0001\u0000\u0000\u0000\u115d\u112c\u0001\u0000\u0000"+
57040 "\u0000\u115d\u112f\u0001\u0000\u0000\u0000\u115d\u1138\u0001\u0000\u0000"+
57041 "\u0000\u115d\u113b\u0001\u0000\u0000\u0000\u115d\u1141\u0001\u0000\u0000"+
57042 "\u0000\u115d\u1144\u0001\u0000\u0000\u0000\u115d\u1147\u0001\u0000\u0000"+
57043 "\u0000\u115d\u114a\u0001\u0000\u0000\u0000\u115d\u114d\u0001\u0000\u0000"+
57044 "\u0000\u115e\u026b\u0001\u0000\u0000\u0000\u115f\u1162\u0003b1\u0000\u1160"+
57045 "\u1161\u0005g\u0000\u0000\u1161\u1163\u0003b1\u0000\u1162\u1160\u0001"+
57046 "\u0000\u0000\u0000\u1162\u1163\u0001\u0000\u0000\u0000\u1163\u026d\u0001"+
57047 "\u0000\u0000\u0000\u1164\u1165\u0005\u022a\u0000\u0000\u1165\u1166\u0005"+
57048 "\u0018\u0000\u0000\u1166\u116b\u0007\u0000\u0000\u0000\u1167\u1168\u0005"+
57049 "\u022b\u0000\u0000\u1168\u1169\u0005\u0018\u0000\u0000\u1169\u116b\u0007"+
57050 "\u0000\u0000\u0000\u116a\u1164\u0001\u0000\u0000\u0000\u116a\u1167\u0001"+
57051 "\u0000\u0000\u0000\u116b\u026f\u0001\u0000\u0000\u0000\u116c\u116d\u0005"+
57052 "\u0196\u0000\u0000\u116d\u116e\u0005\u0018\u0000\u0000\u116e\u1182\u0007"+
57053 "\u0000\u0000\u0000\u116f\u1170\u0005\u0195\u0000\u0000\u1170\u1171\u0005"+
57054 "\u0018\u0000\u0000\u1171\u1182\u0007\u0000\u0000\u0000\u1172\u1173\u0005"+
57055 "\u01f2\u0000\u0000\u1173\u1174\u0005\u0018\u0000\u0000\u1174\u1182\u0007"+
57056 "\u0000\u0000\u0000\u1175\u1176\u0005\u01ab\u0000\u0000\u1176\u1177\u0005"+
57057 "\u0018\u0000\u0000\u1177\u1182\u0007\u0000\u0000\u0000\u1178\u1179\u0005"+
57058 "\u01a6\u0000\u0000\u1179\u117a\u0005\u0018\u0000\u0000\u117a\u1182\u0007"+
57059 "\u0000\u0000\u0000\u117b\u117c\u0005\u019c\u0000\u0000\u117c\u117d\u0005"+
57060 "\u0018\u0000\u0000\u117d\u117f\u0003b1\u0000\u117e\u1180\u0005\u0116\u0000"+
57061 "\u0000\u117f\u117e\u0001\u0000\u0000\u0000\u117f\u1180\u0001\u0000\u0000"+
57062 "\u0000\u1180\u1182\u0001\u0000\u0000\u0000\u1181\u116c\u0001\u0000\u0000"+
57063 "\u0000\u1181\u116f\u0001\u0000\u0000\u0000\u1181\u1172\u0001\u0000\u0000"+
57064 "\u0000\u1181\u1175\u0001\u0000\u0000\u0000\u1181\u1178\u0001\u0000\u0000"+
57065 "\u0000\u1181\u117b\u0001\u0000\u0000\u0000\u1182\u0271\u0001\u0000\u0000"+
57066 "\u0000\u1183\u1184\u0005\u012b\u0000\u0000\u1184\u1185\u0005\u0018\u0000"+
57067 "\u0000\u1185\u118e\u0003b1\u0000\u1186\u1187\u0005\u01ad\u0000\u0000\u1187"+
57068 "\u1188\u0005\u0018\u0000\u0000\u1188\u118a\u0003b1\u0000\u1189\u118b\u0005"+
57069 "\u0116\u0000\u0000\u118a\u1189\u0001\u0000\u0000\u0000\u118a\u118b\u0001"+
57070 "\u0000\u0000\u0000\u118b\u118e\u0001\u0000\u0000\u0000\u118c\u118e\u0003"+
57071 "\u00e0p\u0000\u118d\u1183\u0001\u0000\u0000\u0000\u118d\u1186\u0001\u0000"+
57072 "\u0000\u0000\u118d\u118c\u0001\u0000\u0000\u0000\u118e\u0273\u0001\u0000"+
57073 "\u0000\u0000\u118f\u1190\u0005\u0239\u0000\u0000\u1190\u1191\u0005\u00aa"+
57074 "\u0000\u0000\u1191\u1192\u0005\u0018\u0000\u0000\u1192\u11c6\u00032\u0019"+
57075 "\u0000\u1193\u1194\u0005\u010e\u0000\u0000\u1194\u11c6\u0003\u00e4r\u0000"+
57076 "\u1195\u11c6\u0003\u027e\u013f\u0000\u1196\u1197\u0005:\u0000\u0000\u1197"+
57077 "\u119c\u0003\u027c\u013e\u0000\u1198\u1199\u0005%\u0000\u0000\u1199\u119b"+
57078 "\u0003\u027c\u013e\u0000\u119a\u1198\u0001\u0000\u0000\u0000\u119b\u119e"+
57079 "\u0001\u0000\u0000\u0000\u119c\u119a\u0001\u0000\u0000\u0000\u119c\u119d"+
57080 "\u0001\u0000\u0000\u0000\u119d\u11a1\u0001\u0000\u0000\u0000\u119e\u119c"+
57081 "\u0001\u0000\u0000\u0000\u119f\u11a0\u0005M\u0000\u0000\u11a0\u11a2\u0003"+
57082 "\u02a4\u0152\u0000\u11a1\u119f\u0001\u0000\u0000\u0000\u11a1\u11a2\u0001"+
57083 "\u0000\u0000\u0000\u11a2\u11c6\u0001\u0000\u0000\u0000\u11a3\u11a4\u0005"+
57084 "\u0239\u0000\u0000\u11a4\u11a5\u0005\u001f\u0000\u0000\u11a5\u11aa\u0003"+
57085 "\u0278\u013c\u0000\u11a6\u11a7\u0005%\u0000\u0000\u11a7\u11a9\u0003\u0278"+
57086 "\u013c\u0000\u11a8\u11a6\u0001\u0000\u0000\u0000\u11a9\u11ac\u0001\u0000"+
57087 "\u0000\u0000\u11aa\u11a8\u0001\u0000\u0000\u0000\u11aa\u11ab\u0001\u0000"+
57088 "\u0000\u0000\u11ab\u11ad\u0001\u0000\u0000\u0000\u11ac\u11aa\u0001\u0000"+
57089 "\u0000\u0000\u11ad\u11ae\u0005 \u0000\u0000\u11ae\u11c6\u0001\u0000\u0000"+
57090 "\u0000\u11af\u11b0\u0005\u0239\u0000\u0000\u11b0\u11b1\u0005\u028c\u0000"+
57091 "\u0000\u11b1\u11b2\u0005\u0018\u0000\u0000\u11b2\u11c6\u0005\u02d3\u0000"+
57092 "\u0000\u11b3\u11b4\u00059\u0000\u0000\u11b4\u11b5\u0005\u028e\u0000\u0000"+
57093 "\u11b5\u11b6\u0005a\u0000\u0000\u11b6\u11b7\u0005\u0154\u0000\u0000\u11b7"+
57094 "\u11c1\u0003\u00e4r\u0000\u11b8\u11b9\u0005M\u0000\u0000\u11b9\u11be\u0003"+
57095 "\u0276\u013b\u0000\u11ba\u11bb\u0005%\u0000\u0000\u11bb\u11bd\u0003\u0276"+
57096 "\u013b\u0000\u11bc\u11ba\u0001\u0000\u0000\u0000\u11bd\u11c0\u0001\u0000"+
57097 "\u0000\u0000\u11be\u11bc\u0001\u0000\u0000\u0000\u11be\u11bf\u0001\u0000"+
57098 "\u0000\u0000\u11bf\u11c2\u0001\u0000\u0000\u0000\u11c0\u11be\u0001\u0000"+
57099 "\u0000\u0000\u11c1\u11b8\u0001\u0000\u0000\u0000\u11c1\u11c2\u0001\u0000"+
57100 "\u0000\u0000\u11c2\u11c6\u0001\u0000\u0000\u0000\u11c3\u11c6\u0005\u028f"+
57101 "\u0000\u0000\u11c4\u11c6\u0005\u028d\u0000\u0000\u11c5\u118f\u0001\u0000"+
57102 "\u0000\u0000\u11c5\u1193\u0001\u0000\u0000\u0000\u11c5\u1195\u0001\u0000"+
57103 "\u0000\u0000\u11c5\u1196\u0001\u0000\u0000\u0000\u11c5\u11a3\u0001\u0000"+
57104 "\u0000\u0000\u11c5\u11af\u0001\u0000\u0000\u0000\u11c5\u11b3\u0001\u0000"+
57105 "\u0000\u0000\u11c5\u11c3\u0001\u0000\u0000\u0000\u11c5\u11c4\u0001\u0000"+
57106 "\u0000\u0000\u11c6\u0275\u0001\u0000\u0000\u0000\u11c7\u11c8\u0005\u0288"+
57107 "\u0000\u0000\u11c8\u11c9\u0005\u0018\u0000\u0000\u11c9\u11d4\u0007;\u0000"+
57108 "\u0000\u11ca\u11cb\u0005\u0286\u0000\u0000\u11cb\u11d1\u0005\u0018\u0000"+
57109 "\u0000\u11cc\u11d2\u0003\u027a\u013d\u0000\u11cd\u11ce\u0005\u0287\u0000"+
57110 "\u0000\u11ce\u11cf\u0005\u0018\u0000\u0000\u11cf\u11d2\u00032\u0019\u0000"+
57111 "\u11d0\u11d2\u0007<\u0000\u0000\u11d1\u11cc\u0001\u0000\u0000\u0000\u11d1"+
57112 "\u11cd\u0001\u0000\u0000\u0000\u11d1\u11d0\u0001\u0000\u0000\u0000\u11d2"+
57113 "\u11d4\u0001\u0000\u0000\u0000\u11d3\u11c7\u0001\u0000\u0000\u0000\u11d3"+
57114 "\u11ca\u0001\u0000\u0000\u0000\u11d4\u0277\u0001\u0000\u0000\u0000\u11d5"+
57115 "\u11d6\u0005\u01fa\u0000\u0000\u11d6\u11d7\u0005\u0018\u0000\u0000\u11d7"+
57116 "\u11d8\u0005\u02d4\u0000\u0000\u11d8\u11e3\u0007=\u0000\u0000\u11d9\u11da"+
57117 "\u0005\u0279\u0000\u0000\u11da\u11db\u0005\u0018\u0000\u0000\u11db\u11e3"+
57118 "\u0005\u02d3\u0000\u0000\u11dc\u11dd\u0005\u0286\u0000\u0000\u11dd\u11e0"+
57119 "\u0005\u0018\u0000\u0000\u11de\u11e1\u0005\u02d3\u0000\u0000\u11df\u11e1"+
57120 "\u0003\u027a\u013d\u0000\u11e0\u11de\u0001\u0000\u0000\u0000\u11e0\u11df"+
57121 "\u0001\u0000\u0000\u0000\u11e1\u11e3\u0001\u0000\u0000\u0000\u11e2\u11d5"+
57122 "\u0001\u0000\u0000\u0000\u11e2\u11d9\u0001\u0000\u0000\u0000\u11e2\u11dc"+
57123 "\u0001\u0000\u0000\u0000\u11e3\u0279\u0001\u0000\u0000\u0000\u11e4\u11ed"+
57124 "\u0005\u02d3\u0000\u0000\u11e5\u11e6\u0005\u0285\u0000\u0000\u11e6\u11e7"+
57125 "\u0005\u001f\u0000\u0000\u11e7\u11e8\u0003\u00e4r\u0000\u11e8\u11e9\u0005"+
57126 "\u0018\u0000\u0000\u11e9\u11ea\u0005\u02d3\u0000\u0000\u11ea\u11eb\u0005"+
57127 " \u0000\u0000\u11eb\u11ed\u0001\u0000\u0000\u0000\u11ec\u11e4\u0001\u0000"+
57128 "\u0000\u0000\u11ec\u11e5\u0001\u0000\u0000\u0000\u11ed\u027b\u0001\u0000"+
57129 "\u0000\u0000\u11ee\u121a\u0003\u0286\u0143\u0000\u11ef\u121a\u0003\u0288"+
57130 "\u0144\u0000\u11f0\u121a\u0003\u028a\u0145\u0000\u11f1\u121a\u0003\u028c"+
57131 "\u0146\u0000\u11f2\u11f3\u0005\u01f6\u0000\u0000\u11f3\u11f4\u0005\u0018"+
57132 "\u0000\u0000\u11f4\u121a\u00071\u0000\u0000\u11f5\u121a\u0003\u0290\u0148"+
57133 "\u0000\u11f6\u11f7\u0005\u0284\u0000\u0000\u11f7\u121a\u0007\u0000\u0000"+
57134 "\u0000\u11f8\u11f9\u0005\u0175\u0000\u0000\u11f9\u121a\u0007>\u0000\u0000"+
57135 "\u11fa\u121a\u0007?\u0000\u0000\u11fb\u121a\u0007@\u0000\u0000\u11fc\u121a"+
57136 "\u0007A\u0000\u0000\u11fd\u11fe\u0005\u0299\u0000\u0000\u11fe\u11ff\u0005"+
57137 "\u0018\u0000\u0000\u11ff\u121a\u0007B\u0000\u0000\u1200\u121a\u0003\u0292"+
57138 "\u0149\u0000\u1201\u1202\u0005\u011e\u0000\u0000\u1202\u1203\u0005\u001f"+
57139 "\u0000\u0000\u1203\u1204\u0003\u020a\u0105\u0000\u1204\u1205\u0005 \u0000"+
57140 "\u0000\u1205\u121a\u0001\u0000\u0000\u0000\u1206\u1207\u00053\u0000\u0000"+
57141 "\u1207\u1208\u0005\u00cc\u0000\u0000\u1208\u1209\u0005:\u0000\u0000\u1209"+
57142 "\u121a\u0005\u027d\u0000\u0000\u120a\u120b\u0005\u027a\u0000\u0000\u120b"+
57143 "\u121a\u0007\u0000\u0000\u0000\u120c\u120d\u0005\u01ee\u0000\u0000\u120d"+
57144 "\u121a\u0007C\u0000\u0000\u120e\u121a\u0003\u0294\u014a\u0000\u120f\u121a"+
57145 "\u0003\u029a\u014d\u0000\u1210\u121a\u0003\u02a0\u0150\u0000\u1211\u121a"+
57146 "\u0003\u029e\u014f\u0000\u1212\u121a\u0003\u029c\u014e\u0000\u1213\u121a"+
57147 "\u0003\u02a2\u0151\u0000\u1214\u121a\u0003\u02a4\u0152\u0000\u1215\u1216"+
57148 "\u0005\u0278\u0000\u0000\u1216\u121a\u0007\u0000\u0000\u0000\u1217\u1218"+
57149 "\u0005\u0277\u0000\u0000\u1218\u121a\u0007\u0000\u0000\u0000\u1219\u11ee"+
57150 "\u0001\u0000\u0000\u0000\u1219\u11ef\u0001\u0000\u0000\u0000\u1219\u11f0"+
57151 "\u0001\u0000\u0000\u0000\u1219\u11f1\u0001\u0000\u0000\u0000\u1219\u11f2"+
57152 "\u0001\u0000\u0000\u0000\u1219\u11f5\u0001\u0000\u0000\u0000\u1219\u11f6"+
57153 "\u0001\u0000\u0000\u0000\u1219\u11f8\u0001\u0000\u0000\u0000\u1219\u11fa"+
57154 "\u0001\u0000\u0000\u0000\u1219\u11fb\u0001\u0000\u0000\u0000\u1219\u11fc"+
57155 "\u0001\u0000\u0000\u0000\u1219\u11fd\u0001\u0000\u0000\u0000\u1219\u1200"+
57156 "\u0001\u0000\u0000\u0000\u1219\u1201\u0001\u0000\u0000\u0000\u1219\u1206"+
57157 "\u0001\u0000\u0000\u0000\u1219\u120a\u0001\u0000\u0000\u0000\u1219\u120c"+
57158 "\u0001\u0000\u0000\u0000\u1219\u120e\u0001\u0000\u0000\u0000\u1219\u120f"+
57159 "\u0001\u0000\u0000\u0000\u1219\u1210\u0001\u0000\u0000\u0000\u1219\u1211"+
57160 "\u0001\u0000\u0000\u0000\u1219\u1212\u0001\u0000\u0000\u0000\u1219\u1213"+
57161 "\u0001\u0000\u0000\u0000\u1219\u1214\u0001\u0000\u0000\u0000\u1219\u1215"+
57162 "\u0001\u0000\u0000\u0000\u1219\u1217\u0001\u0000\u0000\u0000\u121a\u027d"+
57163 "\u0001\u0000\u0000\u0000\u121b\u1220\u0003\u0284\u0142\u0000\u121c\u1220"+
57164 "\u0003\u020c\u0106\u0000\u121d\u1220\u0003\u0280\u0140\u0000\u121e\u1220"+
57165 "\u0003\u0282\u0141\u0000\u121f\u121b\u0001\u0000\u0000\u0000\u121f\u121c"+
57166 "\u0001\u0000\u0000\u0000\u121f\u121d\u0001\u0000\u0000\u0000\u121f\u121e"+
57167 "\u0001\u0000\u0000\u0000\u1220\u027f\u0001\u0000\u0000\u0000\u1221\u1222"+
57168 "\u00059\u0000\u0000\u1222\u1223\u0005\u0203\u0000\u0000\u1223\u1228\u0003"+
57169 "\u00e4r\u0000\u1224\u1225\u0005\u0201\u0000\u0000\u1225\u1229\u0005\u011e"+
57170 "\u0000\u0000\u1226\u1227\u0005\u0201\u0000\u0000\u1227\u1229\u0005\u0202"+
57171 "\u0000\u0000\u1228\u1224\u0001\u0000\u0000\u0000\u1228\u1226\u0001\u0000"+
57172 "\u0000\u0000\u1228\u1229\u0001\u0000\u0000\u0000\u1229\u1238\u0001\u0000"+
57173 "\u0000\u0000\u122a\u122b\u0005\u0234\u0000\u0000\u122b\u122c\u0005\u0203"+
57174 "\u0000\u0000\u122c\u1238\u0003\u00e4r\u0000\u122d\u122e\u0005\u0239\u0000"+
57175 "\u0000\u122e\u122f\u0005\u0203\u0000\u0000\u122f\u1230\u0003\u00e4r\u0000"+
57176 "\u1230\u1231\u0003\u0282\u0141\u0000\u1231\u1238\u0001\u0000\u0000\u0000"+
57177 "\u1232\u1238\u0005\u009a\u0000\u0000\u1233\u1234\u0005\u00aa\u0000\u0000"+
57178 "\u1234\u1235\u0005\u0018\u0000\u0000\u1235\u1238\u0003\u00e4r\u0000\u1236"+
57179 "\u1238\u0007D\u0000\u0000\u1237\u1221\u0001\u0000\u0000\u0000\u1237\u122a"+
57180 "\u0001\u0000\u0000\u0000\u1237\u122d\u0001\u0000\u0000\u0000\u1237\u1232"+
57181 "\u0001\u0000\u0000\u0000\u1237\u1233\u0001\u0000\u0000\u0000\u1237\u1236"+
57182 "\u0001\u0000\u0000\u0000\u1238\u0281\u0001\u0000\u0000\u0000\u1239\u123c"+
57183 "\u0007E\u0000\u0000\u123a\u123c\u0007@\u0000\u0000\u123b\u1239\u0001\u0000"+
57184 "\u0000\u0000\u123b\u123a\u0001\u0000\u0000\u0000\u123c\u0283\u0001\u0000"+
57185 "\u0000\u0000\u123d\u123e\u00059\u0000\u0000\u123e\u123f\u0005\u0179\u0000"+
57186 "\u0000\u123f\u1244\u0003\u020c\u0106\u0000\u1240\u1241\u0005%\u0000\u0000"+
57187 "\u1241\u1243\u0003\u020c\u0106\u0000\u1242\u1240\u0001\u0000\u0000\u0000"+
57188 "\u1243\u1246\u0001\u0000\u0000\u0000\u1244\u1242\u0001\u0000\u0000\u0000"+
57189 "\u1244\u1245\u0001\u0000\u0000\u0000\u1245\u124a\u0001\u0000\u0000\u0000"+
57190 "\u1246\u1244\u0001\u0000\u0000\u0000\u1247\u1248\u0005g\u0000\u0000\u1248"+
57191 "\u1249\u0005\u0203\u0000\u0000\u1249\u124b\u0003\u00e4r\u0000\u124a\u1247"+
57192 "\u0001\u0000\u0000\u0000\u124a\u124b\u0001\u0000\u0000\u0000\u124b\u125e"+
57193 "\u0001\u0000\u0000\u0000\u124c\u124d\u00059\u0000\u0000\u124d\u124e\u0005"+
57194 "\u018d\u0000\u0000\u124e\u124f\u0005\u0179\u0000\u0000\u124f\u1254\u0003"+
57195 "\u020c\u0106\u0000\u1250\u1251\u0005%\u0000\u0000\u1251\u1253\u0003\u020c"+
57196 "\u0106\u0000\u1252\u1250\u0001\u0000\u0000\u0000\u1253\u1256\u0001\u0000"+
57197 "\u0000\u0000\u1254\u1252\u0001\u0000\u0000\u0000\u1254\u1255\u0001\u0000"+
57198 "\u0000\u0000\u1255\u125e\u0001\u0000\u0000\u0000\u1256\u1254\u0001\u0000"+
57199 "\u0000\u0000\u1257\u1258\u0005\u0234\u0000\u0000\u1258\u1259\u0005\u0179"+
57200 "\u0000\u0000\u1259\u125e\u0005\u02d3\u0000\u0000\u125a\u125b\u0005\u0239"+
57201 "\u0000\u0000\u125b\u125c\u0005\u0179\u0000\u0000\u125c\u125e\u0003\u020c"+
57202 "\u0106\u0000\u125d\u123d\u0001\u0000\u0000\u0000\u125d\u124c\u0001\u0000"+
57203 "\u0000\u0000\u125d\u1257\u0001\u0000\u0000\u0000\u125d\u125a\u0001\u0000"+
57204 "\u0000\u0000\u125e\u0285\u0001\u0000\u0000\u0000\u125f\u1260\u0005\u023a"+
57205 "\u0000\u0000\u1260\u1261\u0005\u0018\u0000\u0000\u1261\u1268\u0007\u0000"+
57206 "\u0000\u0000\u1262\u1263\u0005\u001f\u0000\u0000\u1263\u1264\u0005\u023b"+
57207 "\u0000\u0000\u1264\u1265\u0005\u0018\u0000\u0000\u1265\u1266\u0003\u00e4"+
57208 "r\u0000\u1266\u1267\u0005 \u0000\u0000\u1267\u1269\u0001\u0000\u0000\u0000"+
57209 "\u1268\u1262\u0001\u0000\u0000\u0000\u1268\u1269\u0001\u0000\u0000\u0000"+
57210 "\u1269\u0287\u0001\u0000\u0000\u0000\u126a\u126b\u0005\u0276\u0000\u0000"+
57211 "\u126b\u127f\u0007\u0000\u0000\u0000\u126c\u1276\u0005\u0274\u0000\u0000"+
57212 "\u126d\u1277\u0005b\u0000\u0000\u126e\u1274\u0005a\u0000\u0000\u126f\u1270"+
57213 "\u0005\u001f\u0000\u0000\u1270\u1271\u0005\u0275\u0000\u0000\u1271\u1272"+
57214 "\u0005\u0018\u0000\u0000\u1272\u1273\u0007\u0000\u0000\u0000\u1273\u1275"+
57215 "\u0005 \u0000\u0000\u1274\u126f\u0001\u0000\u0000\u0000\u1274\u1275\u0001"+
57216 "\u0000\u0000\u0000\u1275\u1277\u0001\u0000\u0000\u0000\u1276\u126d\u0001"+
57217 "\u0000\u0000\u0000\u1276\u126e\u0001\u0000\u0000\u0000\u1277\u127f\u0001"+
57218 "\u0000\u0000\u0000\u1278\u1279\u0005\u0273\u0000\u0000\u1279\u127f\u0007"+
57219 "\u0000\u0000\u0000\u127a\u127b\u0005\u0272\u0000\u0000\u127b\u127f\u0007"+
57220 "\u0000\u0000\u0000\u127c\u127d\u0005\u0271\u0000\u0000\u127d\u127f\u0007"+
57221 "\u0000\u0000\u0000\u127e\u126a\u0001\u0000\u0000\u0000\u127e\u126c\u0001"+
57222 "\u0000\u0000\u0000\u127e\u1278\u0001\u0000\u0000\u0000\u127e\u127a\u0001"+
57223 "\u0000\u0000\u0000\u127e\u127c\u0001\u0000\u0000\u0000\u127f\u0289\u0001"+
57224 "\u0000\u0000\u0000\u1280\u1281\u0005\u026f\u0000\u0000\u1281\u1282\u0005"+
57225 "\u001f\u0000\u0000\u1282\u1283\u0005\u0270\u0000\u0000\u1283\u1284\u0005"+
57226 "\u0018\u0000\u0000\u1284\u1285\u0007\u0000\u0000\u0000\u1285\u1286\u0005"+
57227 " \u0000\u0000\u1286\u028b\u0001\u0000\u0000\u0000\u1287\u129b\u0005\u026e"+
57228 "\u0000\u0000\u1288\u1289\u0005\u0018\u0000\u0000\u1289\u129c\u0005b\u0000"+
57229 "\u0000\u128a\u128b\u0005\u0018\u0000\u0000\u128b\u128d\u0005a\u0000\u0000"+
57230 "\u128c\u128a\u0001\u0000\u0000\u0000\u128c\u128d\u0001\u0000\u0000\u0000"+
57231 "\u128d\u1299\u0001\u0000\u0000\u0000\u128e\u128f\u0005\u001f\u0000\u0000"+
57232 "\u128f\u1294\u0003\u028e\u0147\u0000\u1290\u1291\u0005%\u0000\u0000\u1291"+
57233 "\u1293\u0003\u028e\u0147\u0000\u1292\u1290\u0001\u0000\u0000\u0000\u1293"+
57234 "\u1296\u0001\u0000\u0000\u0000\u1294\u1292\u0001\u0000\u0000\u0000\u1294"+
57235 "\u1295\u0001\u0000\u0000\u0000\u1295\u1297\u0001\u0000\u0000\u0000\u1296"+
57236 "\u1294\u0001\u0000\u0000\u0000\u1297\u1298\u0005 \u0000\u0000\u1298\u129a"+
57237 "\u0001\u0000\u0000\u0000\u1299\u128e\u0001\u0000\u0000\u0000\u1299\u129a"+
57238 "\u0001\u0000\u0000\u0000\u129a\u129c\u0001\u0000\u0000\u0000\u129b\u1288"+
57239 "\u0001\u0000\u0000\u0000\u129b\u128c\u0001\u0000\u0000\u0000\u129c\u028d"+
57240 "\u0001\u0000\u0000\u0000\u129d\u129e\u0005\u026d\u0000\u0000\u129e\u129f"+
57241 "\u0005\u0018\u0000\u0000\u129f\u12a5\u0007\u0000\u0000\u0000\u12a0\u12a1"+
57242 "\u0005\u026c\u0000\u0000\u12a1\u12a2\u0005\u0018\u0000\u0000\u12a2\u12a3"+
57243 "\u0005\u02d4\u0000\u0000\u12a3\u12a5\u0007F\u0000\u0000\u12a4\u129d\u0001"+
57244 "\u0000\u0000\u0000\u12a4\u12a0\u0001\u0000\u0000\u0000\u12a5\u028f\u0001"+
57245 "\u0000\u0000\u0000\u12a6\u12a7\u0005\u026a\u0000\u0000\u12a7\u12ab\u0007"+
57246 "\u0000\u0000\u0000\u12a8\u12a9\u0005\u0268\u0000\u0000\u12a9\u12ab\u0007"+
57247 "G\u0000\u0000\u12aa\u12a6\u0001\u0000\u0000\u0000\u12aa\u12a8\u0001\u0000"+
57248 "\u0000\u0000\u12ab\u0291\u0001\u0000\u0000\u0000\u12ac\u12ad\u0005\u0205"+
57249 "\u0000\u0000\u12ad\u12c0\u0007\u0000\u0000\u0000\u12ae\u12af\u0005\u0206"+
57250 "\u0000\u0000\u12af\u12c0\u0007\u0000\u0000\u0000\u12b0\u12b1\u0005\u0290"+
57251 "\u0000\u0000\u12b1\u12b2\u0005\u0018\u0000\u0000\u12b2\u12c0\u0005\u02d3"+
57252 "\u0000\u0000\u12b3\u12b4\u0005\u0291\u0000\u0000\u12b4\u12b5\u0005\u0018"+
57253 "\u0000\u0000\u12b5\u12c0\u0005\u02d3\u0000\u0000\u12b6\u12b7\u0005\u0293"+
57254 "\u0000\u0000\u12b7\u12b8\u0005\u0018\u0000\u0000\u12b8\u12c0\u0007\u0000"+
57255 "\u0000\u0000\u12b9\u12ba\u0005\u0294\u0000\u0000\u12ba\u12bb\u0005\u0018"+
57256 "\u0000\u0000\u12bb\u12c0\u0007\u0000\u0000\u0000\u12bc\u12bd\u0005\u0295"+
57257 "\u0000\u0000\u12bd\u12be\u0005\u0018\u0000\u0000\u12be\u12c0\u0005\u02d4"+
57258 "\u0000\u0000\u12bf\u12ac\u0001\u0000\u0000\u0000\u12bf\u12ae\u0001\u0000"+
57259 "\u0000\u0000\u12bf\u12b0\u0001\u0000\u0000\u0000\u12bf\u12b3\u0001\u0000"+
57260 "\u0000\u0000\u12bf\u12b6\u0001\u0000\u0000\u0000\u12bf\u12b9\u0001\u0000"+
57261 "\u0000\u0000\u12bf\u12bc\u0001\u0000\u0000\u0000\u12c0\u0293\u0001\u0000"+
57262 "\u0000\u0000\u12c1\u12d5\u0005\u0267\u0000\u0000\u12c2\u12c3\u0005\u0018"+
57263 "\u0000\u0000\u12c3\u12d6\u0005b\u0000\u0000\u12c4\u12c5\u0005\u0018\u0000"+
57264 "\u0000\u12c5\u12c7\u0005a\u0000\u0000\u12c6\u12c4\u0001\u0000\u0000\u0000"+
57265 "\u12c6\u12c7\u0001\u0000\u0000\u0000\u12c7\u12d3\u0001\u0000\u0000\u0000"+
57266 "\u12c8\u12c9\u0005\u001f\u0000\u0000\u12c9\u12ce\u0003\u0296\u014b\u0000"+
57267 "\u12ca\u12cb\u0005%\u0000\u0000\u12cb\u12cd\u0003\u0296\u014b\u0000\u12cc"+
57268 "\u12ca\u0001\u0000\u0000\u0000\u12cd\u12d0\u0001\u0000\u0000\u0000\u12ce"+
57269 "\u12cc\u0001\u0000\u0000\u0000\u12ce\u12cf\u0001\u0000\u0000\u0000\u12cf"+
57270 "\u12d1\u0001\u0000\u0000\u0000\u12d0\u12ce\u0001\u0000\u0000\u0000\u12d1"+
57271 "\u12d2\u0005 \u0000\u0000\u12d2\u12d4\u0001\u0000\u0000\u0000\u12d3\u12c8"+
57272 "\u0001\u0000\u0000\u0000\u12d3\u12d4\u0001\u0000\u0000\u0000\u12d4\u12d6"+
57273 "\u0001\u0000\u0000\u0000\u12d5\u12c2\u0001\u0000\u0000\u0000\u12d5\u12c6"+
57274 "\u0001\u0000\u0000\u0000\u12d6\u0295\u0001\u0000\u0000\u0000\u12d7\u12d8"+
57275 "\u0005\u0266\u0000\u0000\u12d8\u12d9\u0005\u0018\u0000\u0000\u12d9\u1304"+
57276 "\u0007@\u0000\u0000\u12da\u12db\u0005\u0263\u0000\u0000\u12db\u12dc\u0005"+
57277 "\u0018\u0000\u0000\u12dc\u12dd\u0005\u001f\u0000\u0000\u12dd\u12de\u0005"+
57278 "\u0265\u0000\u0000\u12de\u12df\u0005\u0018\u0000\u0000\u12df\u12e0\u0005"+
57279 "\u02d4\u0000\u0000\u12e0\u1304\u0005 \u0000\u0000\u12e1\u12e2\u0005\u0262"+
57280 "\u0000\u0000\u12e2\u12e3\u0005\u0018\u0000\u0000\u12e3\u1304\u0005\u02d4"+
57281 "\u0000\u0000\u12e4\u12e5\u0005\u0261\u0000\u0000\u12e5\u12e6\u0005\u0018"+
57282 "\u0000\u0000\u12e6\u1304\u0005\u02d4\u0000\u0000\u12e7\u12e8\u0005\u0260"+
57283 "\u0000\u0000\u12e8\u12e9\u0005\u0018\u0000\u0000\u12e9\u1304\u0005\u02d4"+
57284 "\u0000\u0000\u12ea\u12eb\u0005\u025f\u0000\u0000\u12eb\u12ec\u0005\u0018"+
57285 "\u0000\u0000\u12ec\u1304\u0007H\u0000\u0000\u12ed\u12ee\u0005\u025e\u0000"+
57286 "\u0000\u12ee\u12ef\u0005\u0018\u0000\u0000\u12ef\u1304\u0007I\u0000\u0000"+
57287 "\u12f0\u12f1\u0005\u025d\u0000\u0000\u12f1\u12f2\u0005\u0018\u0000\u0000"+
57288 "\u12f2\u1304\u0005\u02d4\u0000\u0000\u12f3\u12f4\u0005\u025c\u0000\u0000"+
57289 "\u12f4\u12f5\u0005\u0018\u0000\u0000\u12f5\u1304\u0007\u0000\u0000\u0000"+
57290 "\u12f6\u12f7\u0005\u025b\u0000\u0000\u12f7\u12f8\u0005\u0018\u0000\u0000"+
57291 "\u12f8\u12f9\u0005\u001f\u0000\u0000\u12f9\u12fe\u0003\u0298\u014c\u0000"+
57292 "\u12fa\u12fb\u0005%\u0000\u0000\u12fb\u12fd\u0003\u0298\u014c\u0000\u12fc"+
57293 "\u12fa\u0001\u0000\u0000\u0000\u12fd\u1300\u0001\u0000\u0000\u0000\u12fe"+
57294 "\u12fc\u0001\u0000\u0000\u0000\u12fe\u12ff\u0001\u0000\u0000\u0000\u12ff"+
57295 "\u1301\u0001\u0000\u0000\u0000\u1300\u12fe\u0001\u0000\u0000\u0000\u1301"+
57296 "\u1302\u0005 \u0000\u0000\u1302\u1304\u0001\u0000\u0000\u0000\u1303\u12d7"+
57297 "\u0001\u0000\u0000\u0000\u1303\u12da\u0001\u0000\u0000\u0000\u1303\u12e1"+
57298 "\u0001\u0000\u0000\u0000\u1303\u12e4\u0001\u0000\u0000\u0000\u1303\u12e7"+
57299 "\u0001\u0000\u0000\u0000\u1303\u12ea\u0001\u0000\u0000\u0000\u1303\u12ed"+
57300 "\u0001\u0000\u0000\u0000\u1303\u12f0\u0001\u0000\u0000\u0000\u1303\u12f3"+
57301 "\u0001\u0000\u0000\u0000\u1303\u12f6\u0001\u0000\u0000\u0000\u1304\u0297"+
57302 "\u0001\u0000\u0000\u0000\u1305\u1306\u0005\u0259\u0000\u0000\u1306\u1307"+
57303 "\u0005\u0018\u0000\u0000\u1307\u1308\u0005\u02d4\u0000\u0000\u1308\u1313"+
57304 "\u0007J\u0000\u0000\u1309\u130a\u0005\u025a\u0000\u0000\u130a\u130b\u0005"+
57305 "\u0018\u0000\u0000\u130b\u1313\u0005\u02d4\u0000\u0000\u130c\u130d\u0005"+
57306 "\u0258\u0000\u0000\u130d\u130e\u0005\u0018\u0000\u0000\u130e\u1313\u0005"+
57307 "\u02d4\u0000\u0000\u130f\u1310\u0005\u0257\u0000\u0000\u1310\u1311\u0005"+
57308 "\u0018\u0000\u0000\u1311\u1313\u0005\u02d4\u0000\u0000\u1312\u1305\u0001"+
57309 "\u0000\u0000\u0000\u1312\u1309\u0001\u0000\u0000\u0000\u1312\u130c\u0001"+
57310 "\u0000\u0000\u0000\u1312\u130f\u0001\u0000\u0000\u0000\u1313\u0299\u0001"+
57311 "\u0000\u0000\u0000\u1314\u1315\u0005\u0256\u0000\u0000\u1315\u131b\u0007"+
57312 "K\u0000\u0000\u1316\u1317\u0005\u0254\u0000\u0000\u1317\u131b\u0007\u0000"+
57313 "\u0000\u0000\u1318\u1319\u0005\u0252\u0000\u0000\u1319\u131b\u0007L\u0000"+
57314 "\u0000\u131a\u1314\u0001\u0000\u0000\u0000\u131a\u1316\u0001\u0000\u0000"+
57315 "\u0000\u131a\u1318\u0001\u0000\u0000\u0000\u131b\u029b\u0001\u0000\u0000"+
57316 "\u0000\u131c\u131d\u0005\u0251\u0000\u0000\u131d\u1332\u0007\u0000\u0000"+
57317 "\u0000\u131e\u131f\u0005\u0250\u0000\u0000\u131f\u1332\u0007\u0000\u0000"+
57318 "\u0000\u1320\u1321\u0005\u024f\u0000\u0000\u1321\u1332\u0007\u0000\u0000"+
57319 "\u0000\u1322\u1323\u0005\u024e\u0000\u0000\u1323\u1332\u0007\u0000\u0000"+
57320 "\u0000\u1324\u1325\u0005\u024d\u0000\u0000\u1325\u1332\u0007\u0000\u0000"+
57321 "\u0000\u1326\u1327\u0005\u024c\u0000\u0000\u1327\u1328\u0005\u0018\u0000"+
57322 "\u0000\u1328\u1332\u0005\u02d4\u0000\u0000\u1329\u132a\u0005\u024b\u0000"+
57323 "\u0000\u132a\u1332\u0007\u0000\u0000\u0000\u132b\u132c\u0005\u024a\u0000"+
57324 "\u0000\u132c\u1332\u0007\u0000\u0000\u0000\u132d\u132e\u0005\u0249\u0000"+
57325 "\u0000\u132e\u1332\u0007\u0000\u0000\u0000\u132f\u1330\u0005\u0248\u0000"+
57326 "\u0000\u1330\u1332\u0007\u0000\u0000\u0000\u1331\u131c\u0001\u0000\u0000"+
57327 "\u0000\u1331\u131e\u0001\u0000\u0000\u0000\u1331\u1320\u0001\u0000\u0000"+
57328 "\u0000\u1331\u1322\u0001\u0000\u0000\u0000\u1331\u1324\u0001\u0000\u0000"+
57329 "\u0000\u1331\u1326\u0001\u0000\u0000\u0000\u1331\u1329\u0001\u0000\u0000"+
57330 "\u0000\u1331\u132b\u0001\u0000\u0000\u0000\u1331\u132d\u0001\u0000\u0000"+
57331 "\u0000\u1331\u132f\u0001\u0000\u0000\u0000\u1332\u029d\u0001\u0000\u0000"+
57332 "\u0000\u1333\u1334\u0005\u0247\u0000\u0000\u1334\u133b\u0007\u0000\u0000"+
57333 "\u0000\u1335\u1336\u0005\u0246\u0000\u0000\u1336\u133b\u0007\u0000\u0000"+
57334 "\u0000\u1337\u1338\u0005\u0245\u0000\u0000\u1338\u1339\u0005\u0018\u0000"+
57335 "\u0000\u1339\u133b\u0007\u0000\u0000\u0000\u133a\u1333\u0001\u0000\u0000"+
57336 "\u0000\u133a\u1335\u0001\u0000\u0000\u0000\u133a\u1337\u0001\u0000\u0000"+
57337 "\u0000\u133b\u029f\u0001\u0000\u0000\u0000\u133c\u1343\u0005\u0244\u0000"+
57338 "\u0000\u133d\u1343\u0005\u0243\u0000\u0000\u133e\u1343\u0005\u0242\u0000"+
57339 "\u0000\u133f\u1343\u0005\u0241\u0000\u0000\u1340\u1341\u0005\u0240\u0000"+
57340 "\u0000\u1341\u1343\u0007\u0000\u0000\u0000\u1342\u133c\u0001\u0000\u0000"+
57341 "\u0000\u1342\u133d\u0001\u0000\u0000\u0000\u1342\u133e\u0001\u0000\u0000"+
57342 "\u0000\u1342\u133f\u0001\u0000\u0000\u0000\u1342\u1340\u0001\u0000\u0000"+
57343 "\u0000\u1343\u02a1\u0001\u0000\u0000\u0000\u1344\u1345\u0005\u023e\u0000"+
57344 "\u0000\u1345\u1346\u0005\u0018\u0000\u0000\u1346\u1347\u0005\u02d4\u0000"+
57345 "\u0000\u1347\u1348\u0007M\u0000\u0000\u1348\u02a3\u0001\u0000\u0000\u0000"+
57346 "\u1349\u134a\u0005\u007f\u0000\u0000\u134a\u134b\u0005\u0221\u0000\u0000"+
57347 "\u134b\u134d\u0005\u02d4\u0000\u0000\u134c\u134e\u0005\u023f\u0000\u0000"+
57348 "\u134d\u134c\u0001\u0000\u0000\u0000\u134d\u134e\u0001\u0000\u0000\u0000"+
57349 "\u134e\u1353\u0001\u0000\u0000\u0000\u134f\u1350\u0005\u007f\u0000\u0000"+
57350 "\u1350\u1353\u0005\u023c\u0000\u0000\u1351\u1353\u0005\u023d\u0000\u0000"+
57351 "\u1352\u1349\u0001\u0000\u0000\u0000\u1352\u134f\u0001\u0000\u0000\u0000"+
57352 "\u1352\u1351\u0001\u0000\u0000\u0000\u1353\u02a5\u0001\u0000\u0000\u0000"+
57353 "\u1354\u1355\u0005\u001f\u0000\u0000\u1355\u135a\u0003D\"\u0000\u1356"+
57354 "\u1357\u0005%\u0000\u0000\u1357\u1359\u0003D\"\u0000\u1358\u1356\u0001"+
57355 "\u0000\u0000\u0000\u1359\u135c\u0001\u0000\u0000\u0000\u135a\u1358\u0001"+
57356 "\u0000\u0000\u0000\u135a\u135b\u0001\u0000\u0000\u0000\u135b\u135d\u0001"+
57357 "\u0000\u0000\u0000\u135c\u135a\u0001\u0000\u0000\u0000\u135d\u135e\u0005"+
57358 " \u0000\u0000\u135e\u02a7\u0001\u0000\u0000\u0000\u135f\u1360\u0005\u001f"+
57359 "\u0000\u0000\u1360\u1365\u0003\u02aa\u0155\u0000\u1361\u1362\u0005%\u0000"+
57360 "\u0000\u1362\u1364\u0003\u02aa\u0155\u0000\u1363\u1361\u0001\u0000\u0000"+
57361 "\u0000\u1364\u1367\u0001\u0000\u0000\u0000\u1365\u1363\u0001\u0000\u0000"+
57362 "\u0000\u1365\u1366\u0001\u0000\u0000\u0000\u1366\u1368\u0001\u0000\u0000"+
57363 "\u0000\u1367\u1365\u0001\u0000\u0000\u0000\u1368\u1369\u0005 \u0000\u0000"+
57364 "\u1369\u02a9\u0001\u0000\u0000\u0000\u136a\u136b\u00059\u0000\u0000\u136b"+
57365 "\u136c\u0005\u0174\u0000\u0000\u136c\u1371\u0003D\"\u0000\u136d\u136e"+
57366 "\u00054\u0000\u0000\u136e\u136f\u0005\u0174\u0000\u0000\u136f\u1371\u0003"+
57367 "D\"\u0000\u1370\u136a\u0001\u0000\u0000\u0000\u1370\u136d\u0001\u0000"+
57368 "\u0000\u0000\u1371\u02ab\u0001\u0000\u0000\u0000\u1372\u137a\u00034\u001a"+
57369 "\u0000\u1373\u1374\u0005\u029a\u0000\u0000\u1374\u137a\u0003\u00e4r\u0000"+
57370 "\u1375\u1376\u00034\u001a\u0000\u1376\u1377\u0005\u029a\u0000\u0000\u1377"+
57371 "\u1378\u0003\u00e4r\u0000\u1378\u137a\u0001\u0000\u0000\u0000\u1379\u1372"+
57372 "\u0001\u0000\u0000\u0000\u1379\u1373\u0001\u0000\u0000\u0000\u1379\u1375"+
57373 "\u0001\u0000\u0000\u0000\u137a\u02ad\u0001\u0000\u0000\u0000\u137b\u1381"+
57374 "\u0003\u0102\u0081\u0000\u137c\u1381\u0003\u010e\u0087\u0000\u137d\u1381"+
57375 "\u0003\u032e\u0197\u0000\u137e\u1381\u0003\u0340\u01a0\u0000\u137f\u1381"+
57376 "\u0003\u0346\u01a3\u0000\u1380\u137b\u0001\u0000\u0000\u0000\u1380\u137c"+
57377 "\u0001\u0000\u0000\u0000\u1380\u137d\u0001\u0000\u0000\u0000\u1380\u137e"+
57378 "\u0001\u0000\u0000\u0000\u1380\u137f\u0001\u0000\u0000\u0000\u1381\u02af"+
57379 "\u0001\u0000\u0000\u0000\u1382\u1385\u0003\u02b2\u0159\u0000\u1383\u1385"+
57380 "\u0003\u02b4\u015a\u0000\u1384\u1382\u0001\u0000\u0000\u0000\u1384\u1383"+
57381 "\u0001\u0000\u0000\u0000\u1385\u02b1\u0001\u0000\u0000\u0000\u1386\u1387"+
57382 "\u00052\u0000\u0000\u1387\u1388\u0005;\u0000\u0000\u1388\u138a\u0003@"+
57383 " \u0000\u1389\u138b\u0003P(\u0000\u138a\u1389\u0001\u0000\u0000\u0000"+
57384 "\u138a\u138b\u0001\u0000\u0000\u0000\u138b\u138c\u0001\u0000\u0000\u0000"+
57385 "\u138c\u138d\u0003\u02b6\u015b\u0000\u138d\u138e\u0005`\u0000\u0000\u138e"+
57386 "\u138f\u0003\u02dc\u016e\u0000\u138f\u1390\u0003\u02b8\u015c\u0000\u1390"+
57387 "\u02b3\u0001\u0000\u0000\u0000\u1391\u1392\u00052\u0000\u0000\u1392\u1393"+
57388 "\u0005\u0180\u0000\u0000\u1393\u1394\u0005;\u0000\u0000\u1394\u1395\u0003"+
57389 "@ \u0000\u1395\u1396\u0005\u00d4\u0000\u0000\u1396\u1397\u0005\u001f\u0000"+
57390 "\u0000\u1397\u1398\u0003\u001c\u000e\u0000\u1398\u139f\u0005 \u0000\u0000"+
57391 "\u1399\u139a\u0005M\u0000\u0000\u139a\u139b\u0005\u001f\u0000\u0000\u139b"+
57392 "\u139c\u0005\u029e\u0000\u0000\u139c\u139d\u0005\u0018\u0000\u0000\u139d"+
57393 "\u139e\u0005\u02d5\u0000\u0000\u139e\u13a0\u0005 \u0000\u0000\u139f\u1399"+
57394 "\u0001\u0000\u0000\u0000\u139f\u13a0\u0001\u0000\u0000\u0000\u13a0\u13a1"+
57395 "\u0001\u0000\u0000\u0000\u13a1\u13a2\u0005`\u0000\u0000\u13a2\u13a3\u0003"+
57396 "\u02dc\u016e\u0000\u13a3\u02b5\u0001\u0000\u0000\u0000\u13a4\u13a5\u0005"+
57397 "M\u0000\u0000\u13a5\u13a6\u0005\u001f\u0000\u0000\u13a6\u13b0\u0003\u01b6"+
57398 "\u00db\u0000\u13a7\u13a8\u0005%\u0000\u0000\u13a8\u13ad\u0003\u01aa\u00d5"+
57399 "\u0000\u13a9\u13aa\u0005%\u0000\u0000\u13aa\u13ac\u0003\u01aa\u00d5\u0000"+
57400 "\u13ab\u13a9\u0001\u0000\u0000\u0000\u13ac\u13af\u0001\u0000\u0000\u0000"+
57401 "\u13ad\u13ab\u0001\u0000\u0000\u0000\u13ad\u13ae\u0001\u0000\u0000\u0000"+
57402 "\u13ae\u13b1\u0001\u0000\u0000\u0000\u13af\u13ad\u0001\u0000\u0000\u0000"+
57403 "\u13b0\u13a7\u0001\u0000\u0000\u0000\u13b0\u13b1\u0001\u0000\u0000\u0000"+
57404 "\u13b1\u13b2\u0001\u0000\u0000\u0000\u13b2\u13b3\u0005 \u0000\u0000\u13b3"+
57405 "\u02b7\u0001\u0000\u0000\u0000\u13b4\u13b5\u0005\u0101\u0000\u0000\u13b5"+
57406 "\u13b6\u0005\u001f\u0000\u0000\u13b6\u13bb\u0003\u0316\u018b\u0000\u13b7"+
57407 "\u13b8\u0005%\u0000\u0000\u13b8\u13ba\u0003\u0316\u018b\u0000\u13b9\u13b7"+
57408 "\u0001\u0000\u0000\u0000\u13ba\u13bd\u0001\u0000\u0000\u0000\u13bb\u13b9"+
57409 "\u0001\u0000\u0000\u0000\u13bb\u13bc\u0001\u0000\u0000\u0000\u13bc\u13be"+
57410 "\u0001\u0000\u0000\u0000\u13bd\u13bb\u0001\u0000\u0000\u0000\u13be\u13bf"+
57411 "\u0005 \u0000\u0000\u13bf\u13c1\u0001\u0000\u0000\u0000\u13c0\u13b4\u0001"+
57412 "\u0000\u0000\u0000\u13c0\u13c1\u0001\u0000\u0000\u0000\u13c1\u02b9\u0001"+
57413 "\u0000\u0000\u0000\u13c2\u13c4\u0003\u0306\u0183\u0000\u13c3\u13c2\u0001"+
57414 "\u0000\u0000\u0000\u13c3\u13c4\u0001\u0000\u0000\u0000\u13c4\u13c5\u0001"+
57415 "\u0000\u0000\u0000\u13c5\u13c7\u0005/\u0000\u0000\u13c6\u13c8\u0003\u02e8"+
57416 "\u0174\u0000\u13c7\u13c6\u0001\u0000\u0000\u0000\u13c7\u13c8\u0001\u0000"+
57417 "\u0000\u0000\u13c8\u13ca\u0001\u0000\u0000\u0000\u13c9\u13cb\u0005K\u0000"+
57418 "\u0000\u13ca\u13c9\u0001\u0000\u0000\u0000\u13ca\u13cb\u0001\u0000\u0000"+
57419 "\u0000\u13cb\u13cc\u0001\u0000\u0000\u0000\u13cc\u13d1\u0003@ \u0000\u13cd"+
57420 "\u13cf\u0005`\u0000\u0000\u13ce\u13cd\u0001\u0000\u0000\u0000\u13ce\u13cf"+
57421 "\u0001\u0000\u0000\u0000\u13cf\u13d0\u0001\u0000\u0000\u0000\u13d0\u13d2"+
57422 "\u0003\\.\u0000\u13d1\u13ce\u0001\u0000\u0000\u0000\u13d1\u13d2\u0001"+
57423 "\u0000\u0000\u0000\u13d2\u13d4\u0001\u0000\u0000\u0000\u13d3\u13d5\u0003"+
57424 "\u02c4\u0162\u0000\u13d4\u13d3\u0001\u0000\u0000\u0000\u13d4\u13d5\u0001"+
57425 "\u0000\u0000\u0000\u13d5\u13da\u0001\u0000\u0000\u0000\u13d6\u13db\u0003"+
57426 "\u02bc\u015e\u0000\u13d7\u13db\u0003\u02be\u015f\u0000\u13d8\u13db\u0003"+
57427 "\u02c0\u0160\u0000\u13d9\u13db\u0003\u02c2\u0161\u0000\u13da\u13d6\u0001"+
57428 "\u0000\u0000\u0000\u13da\u13d7\u0001\u0000\u0000\u0000\u13da\u13d8\u0001"+
57429 "\u0000\u0000\u0000\u13da\u13d9\u0001\u0000\u0000\u0000\u13db\u02bb\u0001"+
57430 "\u0000\u0000\u0000\u13dc\u13de\u0003P(\u0000\u13dd\u13dc\u0001\u0000\u0000"+
57431 "\u0000\u13dd\u13de\u0001\u0000\u0000\u0000\u13de\u13e0\u0001\u0000\u0000"+
57432 "\u0000\u13df\u13e1\u0003\u030c\u0186\u0000\u13e0\u13df\u0001\u0000\u0000"+
57433 "\u0000\u13e0\u13e1\u0001\u0000\u0000\u0000\u13e1\u13e2\u0001\u0000\u0000"+
57434 "\u0000\u13e2\u13e3\u0005\u009a\u0000\u0000\u13e3\u13e4\u0005L\u0000\u0000"+
57435 "\u13e4\u02bd\u0001\u0000\u0000\u0000\u13e5\u13e7\u0003P(\u0000\u13e6\u13e5"+
57436 "\u0001\u0000\u0000\u0000\u13e6\u13e7\u0001\u0000\u0000\u0000\u13e7\u13e9"+
57437 "\u0001\u0000\u0000\u0000\u13e8\u13ea\u0003\u030c\u0186\u0000\u13e9\u13e8"+
57438 "\u0001\u0000\u0000\u0000\u13e9\u13ea\u0001\u0000\u0000\u0000\u13ea\u13eb"+
57439 "\u0001\u0000\u0000\u0000\u13eb\u13ec\u0005L\u0000\u0000\u13ec\u13f1\u0003"+
57440 "\u02ce\u0167\u0000\u13ed\u13ee\u0005%\u0000\u0000\u13ee\u13f0\u0003\u02ce"+
57441 "\u0167\u0000\u13ef\u13ed\u0001\u0000\u0000\u0000\u13f0\u13f3\u0001\u0000"+
57442 "\u0000\u0000\u13f1\u13ef\u0001\u0000\u0000\u0000\u13f1\u13f2\u0001\u0000"+
57443 "\u0000\u0000\u13f2\u02bf\u0001\u0000\u0000\u0000\u13f3\u13f1\u0001\u0000"+
57444 "\u0000\u0000\u13f4\u13f6\u0003P(\u0000\u13f5\u13f4\u0001\u0000\u0000\u0000"+
57445 "\u13f5\u13f6\u0001\u0000\u0000\u0000\u13f6\u13f8\u0001\u0000\u0000\u0000"+
57446 "\u13f7\u13f9\u0003\u030c\u0186\u0000\u13f8\u13f7\u0001\u0000\u0000\u0000"+
57447 "\u13f8\u13f9\u0001\u0000\u0000\u0000\u13f9\u13fa\u0001\u0000\u0000\u0000"+
57448 "\u13fa\u13fb\u0003\u02dc\u016e\u0000\u13fb\u02c1\u0001\u0000\u0000\u0000"+
57449 "\u13fc\u13fe\u0003P(\u0000\u13fd\u13fc\u0001\u0000\u0000\u0000\u13fd\u13fe"+
57450 "\u0001\u0000\u0000\u0000\u13fe\u13ff\u0001\u0000\u0000\u0000\u13ff\u1400"+
57451 "\u0003\u02c6\u0163\u0000\u1400\u02c3\u0001\u0000\u0000\u0000\u1401\u1402"+
57452 "\u0005M\u0000\u0000\u1402\u1404\u0005\u001f\u0000\u0000\u1403\u1405\u0003"+
57453 "\u00fa}\u0000\u1404\u1403\u0001\u0000\u0000\u0000\u1405\u1406\u0001\u0000"+
57454 "\u0000\u0000\u1406\u1404\u0001\u0000\u0000\u0000\u1406\u1407\u0001\u0000"+
57455 "\u0000\u0000\u1407\u1408\u0001\u0000\u0000\u0000\u1408\u1409\u0005 \u0000"+
57456 "\u0000\u1409\u02c5\u0001\u0000\u0000\u0000\u140a\u140b\u0007\u001f\u0000"+
57457 "\u0000\u140b\u1414\u00038\u001c\u0000\u140c\u1411\u0003b1\u0000\u140d"+
57458 "\u140e\u0005%\u0000\u0000\u140e\u1410\u0003b1\u0000\u140f\u140d\u0001"+
57459 "\u0000\u0000\u0000\u1410\u1413\u0001\u0000\u0000\u0000\u1411\u140f\u0001"+
57460 "\u0000\u0000\u0000\u1411\u1412\u0001\u0000\u0000\u0000\u1412\u1415\u0001"+
57461 "\u0000\u0000\u0000\u1413\u1411\u0001\u0000\u0000\u0000\u1414\u140c\u0001"+
57462 "\u0000\u0000\u0000\u1414\u1415\u0001\u0000\u0000\u0000\u1415\u02c7\u0001"+
57463 "\u0000\u0000\u0000\u1416\u1418\u0003\u0306\u0183\u0000\u1417\u1416\u0001"+
57464 "\u0000\u0000\u0000\u1417\u1418\u0001\u0000\u0000\u0000\u1418\u1419\u0001"+
57465 "\u0000\u0000\u0000\u1419\u141b\u00050\u0000\u0000\u141a\u141c\u0003\u02e8"+
57466 "\u0174\u0000\u141b\u141a\u0001\u0000\u0000\u0000\u141b\u141c\u0001\u0000"+
57467 "\u0000\u0000\u141c\u141d\u0001\u0000\u0000\u0000\u141d\u141f\u0003\u02f4"+
57468 "\u017a\u0000\u141e\u1420\u0003\u02c4\u0162\u0000\u141f\u141e\u0001\u0000"+
57469 "\u0000\u0000\u141f\u1420\u0001\u0000\u0000\u0000\u1420\u1421\u0001\u0000"+
57470 "\u0000\u0000\u1421\u1423\u0003\u02cc\u0166\u0000\u1422\u1424\u0003\u02fe"+
57471 "\u017f\u0000\u1423\u1422\u0001\u0000\u0000\u0000\u1423\u1424\u0001\u0000"+
57472 "\u0000\u0000\u1424\u1426\u0001\u0000\u0000\u0000\u1425\u1427\u0003\u02d4"+
57473 "\u016a\u0000\u1426\u1425\u0001\u0000\u0000\u0000\u1426\u1427\u0001\u0000"+
57474 "\u0000\u0000\u1427\u02c9\u0001\u0000\u0000\u0000\u1428\u1429\u0003H$\u0000"+
57475 "\u1429\u142a\u0007N\u0000\u0000\u142a\u142b\u0003\u02d0\u0168\u0000\u142b"+
57476 "\u02cb\u0001\u0000\u0000\u0000\u142c\u142d\u0005:\u0000\u0000\u142d\u1432"+
57477 "\u0003\u02ca\u0165\u0000\u142e\u142f\u0005%\u0000\u0000\u142f\u1431\u0003"+
57478 "\u02ca\u0165\u0000\u1430\u142e\u0001\u0000\u0000\u0000\u1431\u1434\u0001"+
57479 "\u0000\u0000\u0000\u1432\u1430\u0001\u0000\u0000\u0000\u1432\u1433\u0001"+
57480 "\u0000\u0000\u0000\u1433\u1436\u0001\u0000\u0000\u0000\u1434\u1432\u0001"+
57481 "\u0000\u0000\u0000\u1435\u1437\u0003\u02f2\u0179\u0000\u1436\u1435\u0001"+
57482 "\u0000\u0000\u0000\u1436\u1437\u0001\u0000\u0000\u0000\u1437\u02cd\u0001"+
57483 "\u0000\u0000\u0000\u1438\u1439\u0005\u001f\u0000\u0000\u1439\u143e\u0003"+
57484 "\u02d0\u0168\u0000\u143a\u143b\u0005%\u0000\u0000\u143b\u143d\u0003\u02d0"+
57485 "\u0168\u0000\u143c\u143a\u0001\u0000\u0000\u0000\u143d\u1440\u0001\u0000"+
57486 "\u0000\u0000\u143e\u143c\u0001\u0000\u0000\u0000\u143e\u143f\u0001\u0000"+
57487 "\u0000\u0000\u143f\u1441\u0001\u0000\u0000\u0000\u1440\u143e\u0001\u0000"+
57488 "\u0000\u0000\u1441\u1442\u0005 \u0000\u0000\u1442\u1446\u0001\u0000\u0000"+
57489 "\u0000\u1443\u1444\u0005\u001f\u0000\u0000\u1444\u1446\u0005 \u0000\u0000"+
57490 "\u1445\u1438\u0001\u0000\u0000\u0000\u1445\u1443\u0001\u0000\u0000\u0000"+
57491 "\u1446\u02cf\u0001\u0000\u0000\u0000\u1447\u144a\u0003b1\u0000\u1448\u144a"+
57492 "\u0005\u009a\u0000\u0000\u1449\u1447\u0001\u0000\u0000\u0000\u1449\u1448"+
57493 "\u0001\u0000\u0000\u0000\u144a\u02d1\u0001\u0000\u0000\u0000\u144b\u144d"+
57494 "\u0003\u0306\u0183\u0000\u144c\u144b\u0001\u0000\u0000\u0000\u144c\u144d"+
57495 "\u0001\u0000\u0000\u0000\u144d\u144e\u0001\u0000\u0000\u0000\u144e\u1450"+
57496 "\u00051\u0000\u0000\u144f\u1451\u0003\u02e8\u0174\u0000\u1450\u144f\u0001"+
57497 "\u0000\u0000\u0000\u1450\u1451\u0001\u0000\u0000\u0000\u1451\u1454\u0001"+
57498 "\u0000\u0000\u0000\u1452\u1455\u0003\u02d6\u016b\u0000\u1453\u1455\u0003"+
57499 "\u02d8\u016c\u0000\u1454\u1452\u0001\u0000\u0000\u0000\u1454\u1453\u0001"+
57500 "\u0000\u0000\u0000\u1455\u1457\u0001\u0000\u0000\u0000\u1456\u1458\u0003"+
57501 "\u030c\u0186\u0000\u1457\u1456\u0001\u0000\u0000\u0000\u1457\u1458\u0001"+
57502 "\u0000\u0000\u0000\u1458\u145a\u0001\u0000\u0000\u0000\u1459\u145b\u0003"+
57503 "\u02fe\u017f\u0000\u145a\u1459\u0001\u0000\u0000\u0000\u145a\u145b\u0001"+
57504 "\u0000\u0000\u0000\u145b\u145d\u0001\u0000\u0000\u0000\u145c\u145e\u0003"+
57505 "\u02d4\u016a\u0000\u145d\u145c\u0001\u0000\u0000\u0000\u145d\u145e\u0001"+
57506 "\u0000\u0000\u0000\u145e\u02d3\u0001\u0000\u0000\u0000\u145f\u1460\u0005"+
57507 "\u0101\u0000\u0000\u1460\u1461\u0003\u0316\u018b\u0000\u1461\u02d5\u0001"+
57508 "\u0000\u0000\u0000\u1462\u1464\u0005U\u0000\u0000\u1463\u1462\u0001\u0000"+
57509 "\u0000\u0000\u1463\u1464\u0001\u0000\u0000\u0000\u1464\u1466\u0001\u0000"+
57510 "\u0000\u0000\u1465\u1467\u0005\u001f\u0000\u0000\u1466\u1465\u0001\u0000"+
57511 "\u0000\u0000\u1466\u1467\u0001\u0000\u0000\u0000\u1467\u1468\u0001\u0000"+
57512 "\u0000\u0000\u1468\u146a\u0003@ \u0000\u1469\u146b\u0005 \u0000\u0000"+
57513 "\u146a\u1469\u0001\u0000\u0000\u0000\u146a\u146b\u0001\u0000\u0000\u0000"+
57514 "\u146b\u1470\u0001\u0000\u0000\u0000\u146c\u146e\u0005`\u0000\u0000\u146d"+
57515 "\u146c\u0001\u0000\u0000\u0000\u146d\u146e\u0001\u0000\u0000\u0000\u146e"+
57516 "\u146f\u0001\u0000\u0000\u0000\u146f\u1471\u0003\\.\u0000\u1470\u146d"+
57517 "\u0001\u0000\u0000\u0000\u1470\u1471\u0001\u0000\u0000\u0000\u1471\u02d7"+
57518 "\u0001\u0000\u0000\u0000\u1472\u1473\u0003\u02da\u016d\u0000\u1473\u1474"+
57519 "\u0005U\u0000\u0000\u1474\u1475\u0003\u02f4\u017a\u0000\u1475\u147c\u0001"+
57520 "\u0000\u0000\u0000\u1476\u1477\u0005U\u0000\u0000\u1477\u1478\u0003\u02da"+
57521 "\u016d\u0000\u1478\u1479\u0005^\u0000\u0000\u1479\u147a\u0003\u02f4\u017a"+
57522 "\u0000\u147a\u147c\u0001\u0000\u0000\u0000\u147b\u1472\u0001\u0000\u0000"+
57523 "\u0000\u147b\u1476\u0001\u0000\u0000\u0000\u147c\u02d9\u0001\u0000\u0000"+
57524 "\u0000\u147d\u147f\u0003@ \u0000\u147e\u1480\u0005\u0015\u0000\u0000\u147f"+
57525 "\u147e\u0001\u0000\u0000\u0000\u147f\u1480\u0001\u0000\u0000\u0000\u1480"+
57526 "\u1488\u0001\u0000\u0000\u0000\u1481\u1482\u0005%\u0000\u0000\u1482\u1484"+
57527 "\u0003@ \u0000\u1483\u1485\u0005\u0015\u0000\u0000\u1484\u1483\u0001\u0000"+
57528 "\u0000\u0000\u1484\u1485\u0001\u0000\u0000\u0000\u1485\u1487\u0001\u0000"+
57529 "\u0000\u0000\u1486\u1481\u0001\u0000\u0000\u0000\u1487\u148a\u0001\u0000"+
57530 "\u0000\u0000\u1488\u1486\u0001\u0000\u0000\u0000\u1488\u1489\u0001\u0000"+
57531 "\u0000\u0000\u1489\u02db\u0001\u0000\u0000\u0000\u148a\u1488\u0001\u0000"+
57532 "\u0000\u0000\u148b\u148c\u0003\u02de\u016f\u0000\u148c\u02dd\u0001\u0000"+
57533 "\u0000\u0000\u148d\u1499\u0003\u02e0\u0170\u0000\u148e\u1490\u0005N\u0000"+
57534 "\u0000\u148f\u1491\u0005r\u0000\u0000\u1490\u148f\u0001\u0000\u0000\u0000"+
57535 "\u1490\u1491\u0001\u0000\u0000\u0000\u1491\u1495\u0001\u0000\u0000\u0000"+
57536 "\u1492\u1495\u0005\u00bc\u0000\u0000\u1493\u1495\u0005\u00bd\u0000\u0000"+
57537 "\u1494\u148e\u0001\u0000\u0000\u0000\u1494\u1492\u0001\u0000\u0000\u0000"+
57538 "\u1494\u1493\u0001\u0000\u0000\u0000\u1495\u1496\u0001\u0000\u0000\u0000"+
57539 "\u1496\u1498\u0003\u02e0\u0170\u0000\u1497\u1494\u0001\u0000\u0000\u0000"+
57540 "\u1498\u149b\u0001\u0000\u0000\u0000\u1499\u1497\u0001\u0000\u0000\u0000"+
57541 "\u1499\u149a\u0001\u0000\u0000\u0000\u149a\u02df\u0001\u0000\u0000\u0000"+
57542 "\u149b\u1499\u0001\u0000\u0000\u0000\u149c\u149e\u0003\u0322\u0191\u0000"+
57543 "\u149d\u149c\u0001\u0000\u0000\u0000\u149d\u149e\u0001\u0000\u0000\u0000"+
57544 "\u149e\u149f\u0001\u0000\u0000\u0000\u149f\u14a1\u0005.\u0000\u0000\u14a0"+
57545 "\u14a2\u0003\u02e2\u0171\u0000\u14a1\u14a0\u0001\u0000\u0000\u0000\u14a1"+
57546 "\u14a2\u0001\u0000\u0000\u0000\u14a2\u14a3\u0001\u0000\u0000\u0000\u14a3"+
57547 "\u14a5\u0003\u02e4\u0172\u0000\u14a4\u14a6\u0003\u02f0\u0178\u0000\u14a5"+
57548 "\u14a4\u0001\u0000\u0000\u0000\u14a5\u14a6\u0001\u0000\u0000\u0000\u14a6"+
57549 "\u14a8\u0001\u0000\u0000\u0000\u14a7\u14a9\u0003\u02f2\u0179\u0000\u14a8"+
57550 "\u14a7\u0001\u0000\u0000\u0000\u14a8\u14a9\u0001\u0000\u0000\u0000\u14a9"+
57551 "\u14ab\u0001\u0000\u0000\u0000\u14aa\u14ac\u0003\u02fe\u017f\u0000\u14ab"+
57552 "\u14aa\u0001\u0000\u0000\u0000\u14ab\u14ac\u0001\u0000\u0000\u0000\u14ac"+
57553 "\u14ae\u0001\u0000\u0000\u0000\u14ad\u14af\u0003\u0300\u0180\u0000\u14ae"+
57554 "\u14ad\u0001\u0000\u0000\u0000\u14ae\u14af\u0001\u0000\u0000\u0000\u14af"+
57555 "\u14b1\u0001\u0000\u0000\u0000\u14b0\u14b2\u0003\u0302\u0181\u0000\u14b1"+
57556 "\u14b0\u0001\u0000\u0000\u0000\u14b1\u14b2\u0001\u0000\u0000\u0000\u14b2"+
57557 "\u14b4\u0001\u0000\u0000\u0000\u14b3\u14b5\u0003\u00a8T\u0000\u14b4\u14b3"+
57558 "\u0001\u0000\u0000\u0000\u14b4\u14b5\u0001\u0000\u0000\u0000\u14b5\u14b7"+
57559 "\u0001\u0000\u0000\u0000\u14b6\u14b8\u0003\u031a\u018d\u0000\u14b7\u14b6"+
57560 "\u0001\u0000\u0000\u0000\u14b7\u14b8\u0001\u0000\u0000\u0000\u14b8\u02e1"+
57561 "\u0001\u0000\u0000\u0000\u14b9\u14ba\u0007O\u0000\u0000\u14ba\u02e3\u0001"+
57562 "\u0000\u0000\u0000\u14bb\u14c1\u0003\u02e6\u0173\u0000\u14bc\u14be\u0003"+
57563 "\u02e8\u0174\u0000\u14bd\u14bf\u0003\u02e6\u0173\u0000\u14be\u14bd\u0001"+
57564 "\u0000\u0000\u0000\u14be\u14bf\u0001\u0000\u0000\u0000\u14bf\u14c1\u0001"+
57565 "\u0000\u0000\u0000\u14c0\u14bb\u0001\u0000\u0000\u0000\u14c0\u14bc\u0001"+
57566 "\u0000\u0000\u0000\u14c1\u14c6\u0001\u0000\u0000\u0000\u14c2\u14c3\u0005"+
57567 "%\u0000\u0000\u14c3\u14c5\u0003\u02e6\u0173\u0000\u14c4\u14c2\u0001\u0000"+
57568 "\u0000\u0000\u14c5\u14c8\u0001\u0000\u0000\u0000\u14c6\u14c4\u0001\u0000"+
57569 "\u0000\u0000\u14c6\u14c7\u0001\u0000\u0000\u0000\u14c7\u02e5\u0001\u0000"+
57570 "\u0000\u0000\u14c8\u14c6\u0001\u0000\u0000\u0000\u14c9\u14df\u0003\u02ee"+
57571 "\u0177\u0000\u14ca\u14df\u0003\u02ec\u0176\u0000\u14cb\u14cc\u0003\\."+
57572 "\u0000\u14cc\u14cd\u0005\u0018\u0000\u0000\u14cd\u14cf\u0001\u0000\u0000"+
57573 "\u0000\u14ce\u14cb\u0001\u0000\u0000\u0000\u14ce\u14cf\u0001\u0000\u0000"+
57574 "\u0000\u14cf\u14d2\u0001\u0000\u0000\u0000\u14d0\u14d3\u0003H$\u0000\u14d1"+
57575 "\u14d3\u0003b1\u0000\u14d2\u14d0\u0001\u0000\u0000\u0000\u14d2\u14d1\u0001"+
57576 "\u0000\u0000\u0000\u14d3\u14df\u0001\u0000\u0000\u0000\u14d4\u14d7\u0003"+
57577 "H$\u0000\u14d5\u14d7\u0003b1\u0000\u14d6\u14d4\u0001\u0000\u0000\u0000"+
57578 "\u14d6\u14d5\u0001\u0000\u0000\u0000\u14d7\u14dc\u0001\u0000\u0000\u0000"+
57579 "\u14d8\u14da\u0005`\u0000\u0000\u14d9\u14d8\u0001\u0000\u0000\u0000\u14d9"+
57580 "\u14da\u0001\u0000\u0000\u0000\u14da\u14db\u0001\u0000\u0000\u0000\u14db"+
57581 "\u14dd\u0003\\.\u0000\u14dc\u14d9\u0001\u0000\u0000\u0000\u14dc\u14dd"+
57582 "\u0001\u0000\u0000\u0000\u14dd\u14df\u0001\u0000\u0000\u0000\u14de\u14c9"+
57583 "\u0001\u0000\u0000\u0000\u14de\u14ca\u0001\u0000\u0000\u0000\u14de\u14ce"+
57584 "\u0001\u0000\u0000\u0000\u14de\u14d6\u0001\u0000\u0000\u0000\u14df\u02e7"+
57585 "\u0001\u0000\u0000\u0000\u14e0\u14e2\u0005\u00f7\u0000\u0000\u14e1\u14e3"+
57586 "\u0005\u001f\u0000\u0000\u14e2\u14e1\u0001\u0000\u0000\u0000\u14e2\u14e3"+
57587 "\u0001\u0000\u0000\u0000\u14e3\u14e4\u0001\u0000\u0000\u0000\u14e4\u14e6"+
57588 "\u0003\u02ea\u0175\u0000\u14e5\u14e7\u0005 \u0000\u0000\u14e6\u14e5\u0001"+
57589 "\u0000\u0000\u0000\u14e6\u14e7\u0001\u0000\u0000\u0000\u14e7\u14e9\u0001"+
57590 "\u0000\u0000\u0000\u14e8\u14ea\u0005\u00ba\u0000\u0000\u14e9\u14e8\u0001"+
57591 "\u0000\u0000\u0000\u14e9\u14ea\u0001\u0000\u0000\u0000\u14ea\u14ed\u0001"+
57592 "\u0000\u0000\u0000\u14eb\u14ec\u0005M\u0000\u0000\u14ec\u14ee\u0005\u00bb"+
57593 "\u0000\u0000\u14ed\u14eb\u0001\u0000\u0000\u0000\u14ed\u14ee\u0001\u0000"+
57594 "\u0000\u0000\u14ee\u14fc\u0001\u0000\u0000\u0000\u14ef\u14f0\u0005\u01bd"+
57595 "\u0000\u0000\u14f0\u14f1\u0005\u001f\u0000\u0000\u14f1\u14f2\u0005 \u0000"+
57596 "\u0000\u14f2\u14f3\u0005\u0131\u0000\u0000\u14f3\u14f4\u0005\u001f\u0000"+
57597 "\u0000\u14f4\u14f5\u0003\u00a8T\u0000\u14f5\u14fa\u0005 \u0000\u0000\u14f6"+
57598 "\u14f8\u0005`\u0000\u0000\u14f7\u14f6\u0001\u0000\u0000\u0000\u14f7\u14f8"+
57599 "\u0001\u0000\u0000\u0000\u14f8\u14f9\u0001\u0000\u0000\u0000\u14f9\u14fb"+
57600 "\u0003\\.\u0000\u14fa\u14f7\u0001\u0000\u0000\u0000\u14fa\u14fb\u0001"+
57601 "\u0000\u0000\u0000\u14fb\u14fd\u0001\u0000\u0000\u0000\u14fc\u14ef\u0001"+
57602 "\u0000\u0000\u0000\u14fc\u14fd\u0001\u0000\u0000\u0000\u14fd\u02e9\u0001"+
57603 "\u0000\u0000\u0000\u14fe\u1501\u0003\u001e\u000f\u0000\u14ff\u1501\u0003"+
57604 "\u0018\f\u0000\u1500\u14fe\u0001\u0000\u0000\u0000\u1500\u14ff\u0001\u0000"+
57605 "\u0000\u0000\u1501\u02eb\u0001\u0000\u0000\u0000\u1502\u1503\u0005\u0011"+
57606 "\u0000\u0000\u1503\u02ed\u0001\u0000\u0000\u0000\u1504\u1505\u0003*\u0015"+
57607 "\u0000\u1505\u1506\u0005\u0015\u0000\u0000\u1506\u02ef\u0001\u0000\u0000"+
57608 "\u0000\u1507\u1508\u0005K\u0000\u0000\u1508\u1509\u0003@ \u0000\u1509"+
57609 "\u02f1\u0001\u0000\u0000\u0000\u150a\u150b\u0005U\u0000\u0000\u150b\u150c"+
57610 "\u0003\u02f4\u017a\u0000\u150c\u02f3\u0001\u0000\u0000\u0000\u150d\u1512"+
57611 "\u0003\u02f6\u017b\u0000\u150e\u150f\u0005%\u0000\u0000\u150f\u1511\u0003"+
57612 "\u02f6\u017b\u0000\u1510\u150e\u0001\u0000\u0000\u0000\u1511\u1514\u0001"+
57613 "\u0000\u0000\u0000\u1512\u1510\u0001\u0000\u0000\u0000\u1512\u1513\u0001"+
57614 "\u0000\u0000\u0000\u1513\u02f5\u0001\u0000\u0000\u0000\u1514\u1512\u0001"+
57615 "\u0000\u0000\u0000\u1515\u1519\u0003\u02f8\u017c\u0000\u1516\u1518\u0003"+
57616 "\u02fa\u017d\u0000\u1517\u1516\u0001\u0000\u0000\u0000\u1518\u151b\u0001"+
57617 "\u0000\u0000\u0000\u1519\u1517\u0001\u0000\u0000\u0000\u1519\u151a\u0001"+
57618 "\u0000\u0000\u0000\u151a\u02f7\u0001\u0000\u0000\u0000\u151b\u1519\u0001"+
57619 "\u0000\u0000\u0000\u151c\u1521\u0003@ \u0000\u151d\u151f\u0005`\u0000"+
57620 "\u0000\u151e\u151d\u0001\u0000\u0000\u0000\u151e\u151f\u0001\u0000\u0000"+
57621 "\u0000\u151f\u1520\u0001\u0000\u0000\u0000\u1520\u1522\u0003\\.\u0000"+
57622 "\u1521\u151e\u0001\u0000\u0000\u0000\u1521\u1522\u0001\u0000\u0000\u0000"+
57623 "\u1522\u1537\u0001\u0000\u0000\u0000\u1523\u1525\u0003\u0304\u0182\u0000"+
57624 "\u1524\u1526\u0005`\u0000\u0000\u1525\u1524\u0001\u0000\u0000\u0000\u1525"+
57625 "\u1526\u0001\u0000\u0000\u0000\u1526\u1527\u0001\u0000\u0000\u0000\u1527"+
57626 "\u1529\u0003\\.\u0000\u1528\u152a\u0003P(\u0000\u1529\u1528\u0001\u0000"+
57627 "\u0000\u0000\u1529\u152a\u0001\u0000\u0000\u0000\u152a\u1537\u0001\u0000"+
57628 "\u0000\u0000\u152b\u1530\u0003b1\u0000\u152c\u152e\u0005`\u0000\u0000"+
57629 "\u152d\u152c\u0001\u0000\u0000\u0000\u152d\u152e\u0001\u0000\u0000\u0000"+
57630 "\u152e\u152f\u0001\u0000\u0000\u0000\u152f\u1531\u0003\\.\u0000\u1530"+
57631 "\u152d\u0001\u0000\u0000\u0000\u1530\u1531\u0001\u0000\u0000\u0000\u1531"+
57632 "\u1537\u0001\u0000\u0000\u0000\u1532\u1533\u0005\u001f\u0000\u0000\u1533"+
57633 "\u1534\u0003\u02f4\u017a\u0000\u1534\u1535\u0005 \u0000\u0000\u1535\u1537"+
57634 "\u0001\u0000\u0000\u0000\u1536\u151c\u0001\u0000\u0000\u0000\u1536\u1523"+
57635 "\u0001\u0000\u0000\u0000\u1536\u152b\u0001\u0000\u0000\u0000\u1536\u1532"+
57636 "\u0001\u0000\u0000\u0000\u1537\u02f9\u0001\u0000\u0000\u0000\u1538\u153a"+
57637 "\u0005V\u0000\u0000\u1539\u1538\u0001\u0000\u0000\u0000\u1539\u153a\u0001"+
57638 "\u0000\u0000\u0000\u153a\u153c\u0001\u0000\u0000\u0000\u153b\u153d\u0007"+
57639 "P\u0000\u0000\u153c\u153b\u0001\u0000\u0000\u0000\u153c\u153d\u0001\u0000"+
57640 "\u0000\u0000\u153d\u153e\u0001\u0000\u0000\u0000\u153e\u153f\u0005W\u0000"+
57641 "\u0000\u153f\u1540\u0001\u0000\u0000\u0000\u1540\u1542\u0003\u02f8\u017c"+
57642 "\u0000\u1541\u1543\u0003\u02fc\u017e\u0000\u1542\u1541\u0001\u0000\u0000"+
57643 "\u0000\u1542\u1543\u0001\u0000\u0000\u0000\u1543\u1557\u0001\u0000\u0000"+
57644 "\u0000\u1544\u1546\u0005V\u0000\u0000\u1545\u1544\u0001\u0000\u0000\u0000"+
57645 "\u1545\u1546\u0001\u0000\u0000\u0000\u1546\u1547\u0001\u0000\u0000\u0000"+
57646 "\u1547\u1549\u0007Q\u0000\u0000\u1548\u154a\u0005Z\u0000\u0000\u1549\u1548"+
57647 "\u0001\u0000\u0000\u0000\u1549\u154a\u0001\u0000\u0000\u0000\u154a\u154b"+
57648 "\u0001\u0000\u0000\u0000\u154b\u154c\u0005W\u0000\u0000\u154c\u154e\u0003"+
57649 "\u02f8\u017c\u0000\u154d\u154f\u0003\u02fc\u017e\u0000\u154e\u154d\u0001"+
57650 "\u0000\u0000\u0000\u154e\u154f\u0001\u0000\u0000\u0000\u154f\u1557\u0001"+
57651 "\u0000\u0000\u0000\u1550\u1551\u0007R\u0000\u0000\u1551\u1552\u0005\u00d7"+
57652 "\u0000\u0000\u1552\u1554\u0003\u02f8\u017c\u0000\u1553\u1555\u0003\u02fc"+
57653 "\u017e\u0000\u1554\u1553\u0001\u0000\u0000\u0000\u1554\u1555\u0001\u0000"+
57654 "\u0000\u0000\u1555\u1557\u0001\u0000\u0000\u0000\u1556\u1539\u0001\u0000"+
57655 "\u0000\u0000\u1556\u1545\u0001\u0000\u0000\u0000\u1556\u1550\u0001\u0000"+
57656 "\u0000\u0000\u1557\u02fb\u0001\u0000\u0000\u0000\u1558\u1559\u0005a\u0000"+
57657 "\u0000\u1559\u155d\u0003b1\u0000\u155a\u155b\u0005^\u0000\u0000\u155b"+
57658 "\u155d\u0003P(\u0000\u155c\u1558\u0001\u0000\u0000\u0000\u155c\u155a\u0001"+
57659 "\u0000\u0000\u0000\u155d\u02fd\u0001\u0000\u0000\u0000\u155e\u155f\u0005"+
57660 "_\u0000\u0000\u155f\u1560\u0003b1\u0000\u1560\u02ff\u0001\u0000\u0000"+
57661 "\u0000\u1561\u1562\u0005v\u0000\u0000\u1562\u1563\u0005w\u0000\u0000\u1563"+
57662 "\u1568\u0003\u00aaU\u0000\u1564\u1565\u0005%\u0000\u0000\u1565\u1567\u0003"+
57663 "\u00aaU\u0000\u1566\u1564\u0001\u0000\u0000\u0000\u1567\u156a\u0001\u0000"+
57664 "\u0000\u0000\u1568\u1566\u0001\u0000\u0000\u0000\u1568\u1569\u0001\u0000"+
57665 "\u0000\u0000\u1569\u0301\u0001\u0000\u0000\u0000\u156a\u1568\u0001\u0000"+
57666 "\u0000\u0000\u156b\u156c\u0005z\u0000\u0000\u156c\u156d\u0003b1\u0000"+
57667 "\u156d\u0303\u0001\u0000\u0000\u0000\u156e\u156f\u0005\u001f\u0000\u0000"+
57668 "\u156f\u1570\u0003\u02de\u016f\u0000\u1570\u1571\u0005 \u0000\u0000\u1571"+
57669 "\u0305\u0001\u0000\u0000\u0000\u1572\u1573\u0005M\u0000\u0000\u1573\u1574"+
57670 "\u0003\u0308\u0184\u0000\u1574\u0307\u0001\u0000\u0000\u0000\u1575\u157a"+
57671 "\u0003\u030a\u0185\u0000\u1576\u1577\u0005%\u0000\u0000\u1577\u1579\u0003"+
57672 "\u030a\u0185\u0000\u1578\u1576\u0001\u0000\u0000\u0000\u1579\u157c\u0001"+
57673 "\u0000\u0000\u0000\u157a\u1578\u0001\u0000\u0000\u0000\u157a\u157b\u0001"+
57674 "\u0000\u0000\u0000\u157b\u0309\u0001\u0000\u0000\u0000\u157c\u157a\u0001"+
57675 "\u0000\u0000\u0000\u157d\u157f\u0003*\u0015\u0000\u157e\u1580\u0003P("+
57676 "\u0000\u157f\u157e\u0001\u0000\u0000\u0000\u157f\u1580\u0001\u0000\u0000"+
57677 "\u0000\u1580\u1581\u0001\u0000\u0000\u0000\u1581\u1582\u0005`\u0000\u0000"+
57678 "\u1582\u1583\u0003\u0304\u0182\u0000\u1583\u030b\u0001\u0000\u0000\u0000"+
57679 "\u1584\u1587\u0005\u01d1\u0000\u0000\u1585\u1588\u0003\u030e\u0187\u0000"+
57680 "\u1586\u1588\u0003\u0312\u0189\u0000\u1587\u1585\u0001\u0000\u0000\u0000"+
57681 "\u1587\u1586\u0001\u0000\u0000\u0000\u1588\u158e\u0001\u0000\u0000\u0000"+
57682 "\u1589\u158a\u0005K\u0000\u0000\u158a\u158c\u0003\u0314\u018a\u0000\u158b"+
57683 "\u158d\u0003P(\u0000\u158c\u158b\u0001\u0000\u0000\u0000\u158c\u158d\u0001"+
57684 "\u0000\u0000\u0000\u158d\u158f\u0001\u0000\u0000\u0000\u158e\u1589\u0001"+
57685 "\u0000\u0000\u0000\u158e\u158f\u0001\u0000\u0000\u0000\u158f\u030d\u0001"+
57686 "\u0000\u0000\u0000\u1590\u1595\u0003\u0310\u0188\u0000\u1591\u1592\u0005"+
57687 "%\u0000\u0000\u1592\u1594\u0003\u0310\u0188\u0000\u1593\u1591\u0001\u0000"+
57688 "\u0000\u0000\u1594\u1597\u0001\u0000\u0000\u0000\u1595\u1593\u0001\u0000"+
57689 "\u0000\u0000\u1595\u1596\u0001\u0000\u0000\u0000\u1596\u030f\u0001\u0000"+
57690 "\u0000\u0000\u1597\u1595\u0001\u0000\u0000\u0000\u1598\u1599\u0007S\u0000"+
57691 "\u0000\u1599\u159a\u0005\u0014\u0000\u0000\u159a\u159f\u0003N\'\u0000"+
57692 "\u159b\u159d\u0005`\u0000\u0000\u159c\u159b\u0001\u0000\u0000\u0000\u159c"+
57693 "\u159d\u0001\u0000\u0000\u0000\u159d\u159e\u0001\u0000\u0000\u0000\u159e"+
57694 "\u15a0\u0003\\.\u0000\u159f\u159c\u0001\u0000\u0000\u0000\u159f\u15a0"+
57695 "\u0001\u0000\u0000\u0000\u15a0\u0311\u0001\u0000\u0000\u0000\u15a1\u15a2"+
57696 "\u0007S\u0000\u0000\u15a2\u15a3\u0005\u0015\u0000\u0000\u15a3\u0313\u0001"+
57697 "\u0000\u0000\u0000\u15a4\u15a5\u0005*\u0000\u0000\u15a5\u15a8\u0003N\'"+
57698 "\u0000\u15a6\u15a8\u0003@ \u0000\u15a7\u15a4\u0001\u0000\u0000\u0000\u15a7"+
57699 "\u15a6\u0001\u0000\u0000\u0000\u15a8\u0315\u0001\u0000\u0000\u0000\u15a9"+
57700 "\u15aa\u0007T\u0000\u0000\u15aa\u15f1\u0005v\u0000\u0000\u15ab\u15ac\u0007"+
57701 "U\u0000\u0000\u15ac\u15f1\u0005N\u0000\u0000\u15ad\u15ae\u0007V\u0000"+
57702 "\u0000\u15ae\u15f1\u0005W\u0000\u0000\u15af\u15b0\u0005\u00c1\u0000\u0000"+
57703 "\u15b0\u15f1\u0005\u00c2\u0000\u0000\u15b1\u15b2\u0005\u00c3\u0000\u0000"+
57704 "\u15b2\u15f1\u0005\u02d5\u0000\u0000\u15b3\u15b4\u0005\u00c4\u0000\u0000"+
57705 "\u15b4\u15f1\u0005u\u0000\u0000\u15b5\u15b6\u0007W\u0000\u0000\u15b6\u15f1"+
57706 "\u0005\u01e6\u0000\u0000\u15b7\u15b8\u0007W\u0000\u0000\u15b8\u15f1\u0005"+
57707 "\u01e7\u0000\u0000\u15b9\u15f1\u0005\u01e8\u0000\u0000\u15ba\u15bb\u0005"+
57708 "\u00c5\u0000\u0000\u15bb\u15f1\u0005\u00c6\u0000\u0000\u15bc\u15bd\u0005"+
57709 "\u01e9\u0000\u0000\u15bd\u15f1\u0005\u00c6\u0000\u0000\u15be\u15bf\u0005"+
57710 "\u01ea\u0000\u0000\u15bf\u15c0\u0005\u0018\u0000\u0000\u15c0\u15f1\u0005"+
57711 "\u02d7\u0000\u0000\u15c1\u15c2\u0005\u01eb\u0000\u0000\u15c2\u15c3\u0005"+
57712 "\u0018\u0000\u0000\u15c3\u15f1\u0005\u02d7\u0000\u0000\u15c4\u15c5\u0005"+
57713 "\u012b\u0000\u0000\u15c5\u15f1\u0005\u02d5\u0000\u0000\u15c6\u15c7\u0005"+
57714 "\u01ec\u0000\u0000\u15c7\u15f1\u0005\u02d5\u0000\u0000\u15c8\u15f1\u0005"+
57715 "\u01ed\u0000\u0000\u15c9\u15ca\u0005\u001f\u0000\u0000\u15ca\u15cb\u0005"+
57716 "\u00c7\u0000\u0000\u15cb\u15cc\u0005f\u0000\u0000\u15cc\u15cd\u0005\u001f"+
57717 "\u0000\u0000\u15cd\u15d3\u0003\u00eau\u0000\u15ce\u15d2\u0005\u00fa\u0000"+
57718 "\u0000\u15cf\u15d0\u0005\u0018\u0000\u0000\u15d0\u15d2\u0003\u001a\r\u0000"+
57719 "\u15d1\u15ce\u0001\u0000\u0000\u0000\u15d1\u15cf\u0001\u0000\u0000\u0000"+
57720 "\u15d2\u15d5\u0001\u0000\u0000\u0000\u15d3\u15d1\u0001\u0000\u0000\u0000"+
57721 "\u15d3\u15d4\u0001\u0000\u0000\u0000\u15d4\u15d6\u0001\u0000\u0000\u0000"+
57722 "\u15d5\u15d3\u0001\u0000\u0000\u0000\u15d6\u15d7\u0005 \u0000\u0000\u15d7"+
57723 "\u15d8\u0005 \u0000\u0000\u15d8\u15f1\u0001\u0000\u0000\u0000\u15d9\u15da"+
57724 "\u0005\u00c7\u0000\u0000\u15da\u15db\u0005f\u0000\u0000\u15db\u15f1\u0005"+
57725 "\u00fa\u0000\u0000\u15dc\u15dd\u0005\u01ee\u0000\u0000\u15dd\u15f1\u0007"+
57726 "C\u0000\u0000\u15de\u15df\u0005\u01ef\u0000\u0000\u15df\u15f1\u0005\u02d5"+
57727 "\u0000\u0000\u15e0\u15f1\u0005\u01f0\u0000\u0000\u15e1\u15e2\u0005\u01f1"+
57728 "\u0000\u0000\u15e2\u15f1\u0005\u00c6\u0000\u0000\u15e3\u15e4\u0005\u00be"+
57729 "\u0000\u0000\u15e4\u15e5\u0005\u00ca\u0000\u0000\u15e5\u15e9\u0005\u001f"+
57730 "\u0000\u0000\u15e6\u15e8\u0003\u0318\u018c\u0000\u15e7\u15e6\u0001\u0000"+
57731 "\u0000\u0000\u15e8\u15eb\u0001\u0000\u0000\u0000\u15e9\u15e7\u0001\u0000"+
57732 "\u0000\u0000\u15e9\u15ea\u0001\u0000\u0000\u0000\u15ea\u15ec\u0001\u0000"+
57733 "\u0000\u0000\u15eb\u15e9\u0001\u0000\u0000\u0000\u15ec\u15f1\u0005 \u0000"+
57734 "\u0000\u15ed\u15ee\u0005\u00be\u0000\u0000\u15ee\u15ef\u0005\u00c6\u0000"+
57735 "\u0000\u15ef\u15f1\u0005\u02da\u0000\u0000\u15f0\u15a9\u0001\u0000\u0000"+
57736 "\u0000\u15f0\u15ab\u0001\u0000\u0000\u0000\u15f0\u15ad\u0001\u0000\u0000"+
57737 "\u0000\u15f0\u15af\u0001\u0000\u0000\u0000\u15f0\u15b1\u0001\u0000\u0000"+
57738 "\u0000\u15f0\u15b3\u0001\u0000\u0000\u0000\u15f0\u15b5\u0001\u0000\u0000"+
57739 "\u0000\u15f0\u15b7\u0001\u0000\u0000\u0000\u15f0\u15b9\u0001\u0000\u0000"+
57740 "\u0000\u15f0\u15ba\u0001\u0000\u0000\u0000\u15f0\u15bc\u0001\u0000\u0000"+
57741 "\u0000\u15f0\u15be\u0001\u0000\u0000\u0000\u15f0\u15c1\u0001\u0000\u0000"+
57742 "\u0000\u15f0\u15c4\u0001\u0000\u0000\u0000\u15f0\u15c6\u0001\u0000\u0000"+
57743 "\u0000\u15f0\u15c8\u0001\u0000\u0000\u0000\u15f0\u15c9\u0001\u0000\u0000"+
57744 "\u0000\u15f0\u15d9\u0001\u0000\u0000\u0000\u15f0\u15dc\u0001\u0000\u0000"+
57745 "\u0000\u15f0\u15de\u0001\u0000\u0000\u0000\u15f0\u15e0\u0001\u0000\u0000"+
57746 "\u0000\u15f0\u15e1\u0001\u0000\u0000\u0000\u15f0\u15e3\u0001\u0000\u0000"+
57747 "\u0000\u15f0\u15ed\u0001\u0000\u0000\u0000\u15f1\u0317\u0001\u0000\u0000"+
57748 "\u0000\u15f2\u15f3\u0005\'\u0000\u0000\u15f3\u15f4\u0005\u01d4\u0000\u0000"+
57749 "\u15f4\u1629\u0005\'\u0000\u0000\u15f5\u15f6\u0005\'\u0000\u0000\u15f6"+
57750 "\u15f7\u0005\u01d5\u0000\u0000\u15f7\u1629\u0005\'\u0000\u0000\u15f8\u15f9"+
57751 "\u0005\'\u0000\u0000\u15f9\u15fa\u0005\u01d6\u0000\u0000\u15fa\u1629\u0005"+
57752 "\'\u0000\u0000\u15fb\u15fc\u0005\'\u0000\u0000\u15fc\u15fd\u0005\u01d7"+
57753 "\u0000\u0000\u15fd\u1629\u0005\'\u0000\u0000\u15fe\u15ff\u0005\'\u0000"+
57754 "\u0000\u15ff\u1600\u0005\u01d8\u0000\u0000\u1600\u1629\u0005\'\u0000\u0000"+
57755 "\u1601\u1602\u0005\'\u0000\u0000\u1602\u1603\u0005\u01d9\u0000\u0000\u1603"+
57756 "\u1629\u0005\'\u0000\u0000\u1604\u1605\u0005\'\u0000\u0000\u1605\u1606"+
57757 "\u0005\u01da\u0000\u0000\u1606\u1629\u0005\'\u0000\u0000\u1607\u1608\u0005"+
57758 "\'\u0000\u0000\u1608\u1609\u0005\u01db\u0000\u0000\u1609\u1629\u0005\'"+
57759 "\u0000\u0000\u160a\u160b\u0005\'\u0000\u0000\u160b\u160c\u0005\u01dc\u0000"+
57760 "\u0000\u160c\u1629\u0005\'\u0000\u0000\u160d\u160e\u0005\'\u0000\u0000"+
57761 "\u160e\u160f\u0005\u01dd\u0000\u0000\u160f\u1629\u0005\'\u0000\u0000\u1610"+
57762 "\u1611\u0005\'\u0000\u0000\u1611\u1612\u0005\u01de\u0000\u0000\u1612\u1629"+
57763 "\u0005\'\u0000\u0000\u1613\u1614\u0005\'\u0000\u0000\u1614\u1615\u0005"+
57764 "\u01df\u0000\u0000\u1615\u1629\u0005\'\u0000\u0000\u1616\u1617\u0005\'"+
57765 "\u0000\u0000\u1617\u1618\u0005\u01e0\u0000\u0000\u1618\u1629\u0005\'\u0000"+
57766 "\u0000\u1619\u161a\u0005\'\u0000\u0000\u161a\u161b\u0005\u01e1\u0000\u0000"+
57767 "\u161b\u1629\u0005\'\u0000\u0000\u161c\u161d\u0005\'\u0000\u0000\u161d"+
57768 "\u161e\u0005\u01e2\u0000\u0000\u161e\u1629\u0005\'\u0000\u0000\u161f\u1620"+
57769 "\u0005\'\u0000\u0000\u1620\u1621\u0005\u01e3\u0000\u0000\u1621\u1629\u0005"+
57770 "\'\u0000\u0000\u1622\u1623\u0005\'\u0000\u0000\u1623\u1624\u0005\u01e4"+
57771 "\u0000\u0000\u1624\u1629\u0005\'\u0000\u0000\u1625\u1626\u0005\'\u0000"+
57772 "\u0000\u1626\u1627\u0005\u01e5\u0000\u0000\u1627\u1629\u0005\'\u0000\u0000"+
57773 "\u1628\u15f2\u0001\u0000\u0000\u0000\u1628\u15f5\u0001\u0000\u0000\u0000"+
57774 "\u1628\u15f8\u0001\u0000\u0000\u0000\u1628\u15fb\u0001\u0000\u0000\u0000"+
57775 "\u1628\u15fe\u0001\u0000\u0000\u0000\u1628\u1601\u0001\u0000\u0000\u0000"+
57776 "\u1628\u1604\u0001\u0000\u0000\u0000\u1628\u1607\u0001\u0000\u0000\u0000"+
57777 "\u1628\u160a\u0001\u0000\u0000\u0000\u1628\u160d\u0001\u0000\u0000\u0000"+
57778 "\u1628\u1610\u0001\u0000\u0000\u0000\u1628\u1613\u0001\u0000\u0000\u0000"+
57779 "\u1628\u1616\u0001\u0000\u0000\u0000\u1628\u1619\u0001\u0000\u0000\u0000"+
57780 "\u1628\u161c\u0001\u0000\u0000\u0000\u1628\u161f\u0001\u0000\u0000\u0000"+
57781 "\u1628\u1622\u0001\u0000\u0000\u0000\u1628\u1625\u0001\u0000\u0000\u0000"+
57782 "\u1629\u0319\u0001\u0000\u0000\u0000\u162a\u162e\u0005f\u0000\u0000\u162b"+
57783 "\u162f\u0005\u02b7\u0000\u0000\u162c\u162f\u0003\u031c\u018e\u0000\u162d"+
57784 "\u162f\u0003\u0320\u0190\u0000\u162e\u162b\u0001\u0000\u0000\u0000\u162e"+
57785 "\u162c\u0001\u0000\u0000\u0000\u162e\u162d\u0001\u0000\u0000\u0000\u162f"+
57786 "\u031b\u0001\u0000\u0000\u0000\u1630\u166b\u0005\u0164\u0000\u0000\u1631"+
57787 "\u1636\u0005\u02b8\u0000\u0000\u1632\u1633\u0005\u001f\u0000\u0000\u1633"+
57788 "\u1634\u0003\u001c\u000e\u0000\u1634\u1635\u0005 \u0000\u0000\u1635\u1637"+
57789 "\u0001\u0000\u0000\u0000\u1636\u1632\u0001\u0000\u0000\u0000\u1636\u1637"+
57790 "\u0001\u0000\u0000\u0000\u1637\u163a\u0001\u0000\u0000\u0000\u1638\u163a"+
57791 "\u0005\u010a\u0000\u0000\u1639\u1631\u0001\u0000\u0000\u0000\u1639\u1638"+
57792 "\u0001\u0000\u0000\u0000\u163a\u1650\u0001\u0000\u0000\u0000\u163b\u1647"+
57793 "\u0003\u031e\u018f\u0000\u163c\u1645\u0005%\u0000\u0000\u163d\u1646\u0005"+
57794 "\u02b9\u0000\u0000\u163e\u1643\u0005\u02ba\u0000\u0000\u163f\u1640\u0005"+
57795 "\u001f\u0000\u0000\u1640\u1641\u0003\u001c\u000e\u0000\u1641\u1642\u0005"+
57796 " \u0000\u0000\u1642\u1644\u0001\u0000\u0000\u0000\u1643\u163f\u0001\u0000"+
57797 "\u0000\u0000\u1643\u1644\u0001\u0000\u0000\u0000\u1644\u1646\u0001\u0000"+
57798 "\u0000\u0000\u1645\u163d\u0001\u0000\u0000\u0000\u1645\u163e\u0001\u0000"+
57799 "\u0000\u0000\u1646\u1648\u0001\u0000\u0000\u0000\u1647\u163c\u0001\u0000"+
57800 "\u0000\u0000\u1647\u1648\u0001\u0000\u0000\u0000\u1648\u164e\u0001\u0000"+
57801 "\u0000\u0000\u1649\u164a\u0005%\u0000\u0000\u164a\u164c\u0005\u02bb\u0000"+
57802 "\u0000\u164b\u164d\u0007X\u0000\u0000\u164c\u164b\u0001\u0000\u0000\u0000"+
57803 "\u164c\u164d\u0001\u0000\u0000\u0000\u164d\u164f\u0001\u0000\u0000\u0000"+
57804 "\u164e\u1649\u0001\u0000\u0000\u0000\u164e\u164f\u0001\u0000\u0000\u0000"+
57805 "\u164f\u1651\u0001\u0000\u0000\u0000\u1650\u163b\u0001\u0000\u0000\u0000"+
57806 "\u1650\u1651\u0001\u0000\u0000\u0000\u1651\u166c\u0001\u0000\u0000\u0000"+
57807 "\u1652\u1658\u0005\u02be\u0000\u0000\u1653\u1656\u0003\u031e\u018f\u0000"+
57808 "\u1654\u1655\u0005%\u0000\u0000\u1655\u1657\u0005\u02b9\u0000\u0000\u1656"+
57809 "\u1654\u0001\u0000\u0000\u0000\u1656\u1657\u0001\u0000\u0000\u0000\u1657"+
57810 "\u1659\u0001\u0000\u0000\u0000\u1658\u1653\u0001\u0000\u0000\u0000\u1658"+
57811 "\u1659\u0001\u0000\u0000\u0000\u1659\u166c\u0001\u0000\u0000\u0000\u165a"+
57812 "\u165f\u0005\u02bf\u0000\u0000\u165b\u165c\u0005\u001f\u0000\u0000\u165c"+
57813 "\u165d\u0003\u001c\u000e\u0000\u165d\u165e\u0005 \u0000\u0000\u165e\u1660"+
57814 "\u0001\u0000\u0000\u0000\u165f\u165b\u0001\u0000\u0000\u0000\u165f\u1660"+
57815 "\u0001\u0000\u0000\u0000\u1660\u1669\u0001\u0000\u0000\u0000\u1661\u1667"+
57816 "\u0003\u031e\u018f\u0000\u1662\u1663\u0005%\u0000\u0000\u1663\u1665\u0005"+
57817 "\u02bb\u0000\u0000\u1664\u1666\u0007X\u0000\u0000\u1665\u1664\u0001\u0000"+
57818 "\u0000\u0000\u1665\u1666\u0001\u0000\u0000\u0000\u1666\u1668\u0001\u0000"+
57819 "\u0000\u0000\u1667\u1662\u0001\u0000\u0000\u0000\u1667\u1668\u0001\u0000"+
57820 "\u0000\u0000\u1668\u166a\u0001\u0000\u0000\u0000\u1669\u1661\u0001\u0000"+
57821 "\u0000\u0000\u1669\u166a\u0001\u0000\u0000\u0000\u166a\u166c\u0001\u0000"+
57822 "\u0000\u0000\u166b\u1639\u0001\u0000\u0000\u0000\u166b\u1652\u0001\u0000"+
57823 "\u0000\u0000\u166b\u165a\u0001\u0000\u0000\u0000\u166c\u031d\u0001\u0000"+
57824 "\u0000\u0000\u166d\u166e\u0005%\u0000\u0000\u166e\u166f\u0005\u00f1\u0000"+
57825 "\u0000\u166f\u1671\u0005\u02c0\u0000\u0000\u1670\u166d\u0001\u0000\u0000"+
57826 "\u0000\u1670\u1671\u0001\u0000\u0000\u0000\u1671\u1674\u0001\u0000\u0000"+
57827 "\u0000\u1672\u1673\u0005%\u0000\u0000\u1673\u1675\u0005\u00b0\u0000\u0000"+
57828 "\u1674\u1672\u0001\u0000\u0000\u0000\u1674\u1675\u0001\u0000\u0000\u0000"+
57829 "\u1675\u167e\u0001\u0000\u0000\u0000\u1676\u1677\u0005%\u0000\u0000\u1677"+
57830 "\u167c\u0005\u02c1\u0000\u0000\u1678\u1679\u0005\u001f\u0000\u0000\u1679"+
57831 "\u167a\u0003\u001c\u000e\u0000\u167a\u167b\u0005 \u0000\u0000\u167b\u167d"+
57832 "\u0001\u0000\u0000\u0000\u167c\u1678\u0001\u0000\u0000\u0000\u167c\u167d"+
57833 "\u0001\u0000\u0000\u0000\u167d\u167f\u0001\u0000\u0000\u0000\u167e\u1676"+
57834 "\u0001\u0000\u0000\u0000\u167e\u167f\u0001\u0000\u0000\u0000\u167f\u031f"+
57835 "\u0001\u0000\u0000\u0000\u1680\u1681\u0005\u02c2\u0000\u0000\u1681\u1694"+
57836 "\u0007Y\u0000\u0000\u1682\u1683\u0005%\u0000\u0000\u1683\u1688\u0005\u02c1"+
57837 "\u0000\u0000\u1684\u1685\u0005\u001f\u0000\u0000\u1685\u1686\u0003\u001c"+
57838 "\u000e\u0000\u1686\u1687\u0005 \u0000\u0000\u1687\u1689\u0001\u0000\u0000"+
57839 "\u0000\u1688\u1684\u0001\u0000\u0000\u0000\u1688\u1689\u0001\u0000\u0000"+
57840 "\u0000\u1689\u168b\u0001\u0000\u0000\u0000\u168a\u1682\u0001\u0000\u0000"+
57841 "\u0000\u168a\u168b\u0001\u0000\u0000\u0000\u168b\u168e\u0001\u0000\u0000"+
57842 "\u0000\u168c\u168d\u0005%\u0000\u0000\u168d\u168f\u0005\u02c3\u0000\u0000"+
57843 "\u168e\u168c\u0001\u0000\u0000\u0000\u168e\u168f\u0001\u0000\u0000\u0000"+
57844 "\u168f\u1692\u0001\u0000\u0000\u0000\u1690\u1691\u0005%\u0000\u0000\u1691"+
57845 "\u1693\u0005\u02c4\u0000\u0000\u1692\u1690\u0001\u0000\u0000\u0000\u1692"+
57846 "\u1693\u0001\u0000\u0000\u0000\u1693\u1695\u0001\u0000\u0000\u0000\u1694"+
57847 "\u168a\u0001\u0000\u0000\u0000\u1694\u1695\u0001\u0000\u0000\u0000\u1695"+
57848 "\u0321\u0001\u0000\u0000\u0000\u1696\u169b\u0005M\u0000\u0000\u1697\u1699"+
57849 "\u0003\u0324\u0192\u0000\u1698\u169a\u0005%\u0000\u0000\u1699\u1698\u0001"+
57850 "\u0000\u0000\u0000\u1699\u169a\u0001\u0000\u0000\u0000\u169a\u169c\u0001"+
57851 "\u0000\u0000\u0000\u169b\u1697\u0001\u0000\u0000\u0000\u169b\u169c\u0001"+
57852 "\u0000\u0000\u0000\u169c\u169e\u0001\u0000\u0000\u0000\u169d\u169f\u0003"+
57853 "\u0308\u0184\u0000\u169e\u169d\u0001\u0000\u0000\u0000\u169e\u169f\u0001"+
57854 "\u0000\u0000\u0000\u169f\u0323\u0001\u0000\u0000\u0000\u16a0\u16a1\u0005"+
57855 "\u02c5\u0000\u0000\u16a1\u16a2\u0005\u001f\u0000\u0000\u16a2\u16a7\u0003"+
57856 "\u0326\u0193\u0000\u16a3\u16a4\u0005%\u0000\u0000\u16a4\u16a6\u0003\u0326"+
57857 "\u0193\u0000\u16a5\u16a3\u0001\u0000\u0000\u0000\u16a6\u16a9\u0001\u0000"+
57858 "\u0000\u0000\u16a7\u16a5\u0001\u0000\u0000\u0000\u16a7\u16a8\u0001\u0000"+
57859 "\u0000\u0000\u16a8\u16aa\u0001\u0000\u0000\u0000\u16a9\u16a7\u0001\u0000"+
57860 "\u0000\u0000\u16aa\u16ab\u0005 \u0000\u0000\u16ab\u0325\u0001\u0000\u0000"+
57861 "\u0000\u16ac\u16ad\u0003\u0328\u0194\u0000\u16ad\u16ae\u0005`\u0000\u0000"+
57862 "\u16ae\u16af\u0003\u032a\u0195\u0000\u16af\u16b2\u0001\u0000\u0000\u0000"+
57863 "\u16b0\u16b2\u0003\u032c\u0196\u0000\u16b1\u16ac\u0001\u0000\u0000\u0000"+
57864 "\u16b1\u16b0\u0001\u0000\u0000\u0000\u16b2\u0327\u0001\u0000\u0000\u0000"+
57865 "\u16b3\u16b4\u0003\u001c\u000e\u0000\u16b4\u0329\u0001\u0000\u0000\u0000"+
57866 "\u16b5\u16b6\u0003*\u0015\u0000\u16b6\u032b\u0001\u0000\u0000\u0000\u16b7"+
57867 "\u16b8\u0005\u009a\u0000\u0000\u16b8\u16b9\u0003\u0328\u0194\u0000\u16b9"+
57868 "\u032d\u0001\u0000\u0000\u0000\u16ba\u16bd\u00057\u0000\u0000\u16bb\u16be"+
57869 "\u0003\u0330\u0198\u0000\u16bc\u16be\u0003\u0332\u0199\u0000\u16bd\u16bb"+
57870 "\u0001\u0000\u0000\u0000\u16bd\u16bc\u0001\u0000\u0000\u0000\u16be\u032f"+
57871 "\u0001\u0000\u0000\u0000\u16bf\u16c2\u0003\u0334\u019a\u0000\u16c0\u16c1"+
57872 "\u0005a\u0000\u0000\u16c1\u16c3\u0003\u0336\u019b\u0000\u16c2\u16c0\u0001"+
57873 "\u0000\u0000\u0000\u16c2\u16c3\u0001\u0000\u0000\u0000\u16c3\u16c4\u0001"+
57874 "\u0000\u0000\u0000\u16c4\u16c5\u0005g\u0000\u0000\u16c5\u16ca\u0003\u033e"+
57875 "\u019f\u0000\u16c6\u16c7\u0005%\u0000\u0000\u16c7\u16c9\u0003\u033e\u019f"+
57876 "\u0000\u16c8\u16c6\u0001\u0000\u0000\u0000\u16c9\u16cc\u0001\u0000\u0000"+
57877 "\u0000\u16ca\u16c8\u0001\u0000\u0000\u0000\u16ca\u16cb\u0001\u0000\u0000"+
57878 "\u0000\u16cb\u16d0\u0001\u0000\u0000\u0000\u16cc\u16ca\u0001\u0000\u0000"+
57879 "\u0000\u16cd\u16ce\u0005M\u0000\u0000\u16ce\u16cf\u00057\u0000\u0000\u16cf"+
57880 "\u16d1\u0005\u0101\u0000\u0000\u16d0\u16cd\u0001\u0000\u0000\u0000\u16d0"+
57881 "\u16d1\u0001\u0000\u0000\u0000\u16d1\u16d4\u0001\u0000\u0000\u0000\u16d2"+
57882 "\u16d3\u0005`\u0000\u0000\u16d3\u16d5\u0003\u033e\u019f\u0000\u16d4\u16d2"+
57883 "\u0001\u0000\u0000\u0000\u16d4\u16d5\u0001\u0000\u0000\u0000\u16d5\u0331"+
57884 "\u0001\u0000\u0000\u0000\u16d6\u16d9\u0003\u0338\u019c\u0000\u16d7\u16d8"+
57885 "\u0005a\u0000\u0000\u16d8\u16da\u0003\u033a\u019d\u0000\u16d9\u16d7\u0001"+
57886 "\u0000\u0000\u0000\u16d9\u16da\u0001\u0000\u0000\u0000\u16da\u16db\u0001"+
57887 "\u0000\u0000\u0000\u16db\u16dc\u0005g\u0000\u0000\u16dc\u16e1\u0003\u033e"+
57888 "\u019f\u0000\u16dd\u16de\u0005%\u0000\u0000\u16de\u16e0\u0003\u033e\u019f"+
57889 "\u0000\u16df\u16dd\u0001\u0000\u0000\u0000\u16e0\u16e3\u0001\u0000\u0000"+
57890 "\u0000\u16e1\u16df\u0001\u0000\u0000\u0000\u16e1\u16e2\u0001\u0000\u0000"+
57891 "\u0000\u16e2\u16e7\u0001\u0000\u0000\u0000\u16e3\u16e1\u0001\u0000\u0000"+
57892 "\u0000\u16e4\u16e5\u0005M\u0000\u0000\u16e5\u16e6\u00057\u0000\u0000\u16e6"+
57893 "\u16e8\u0005\u0101\u0000\u0000\u16e7\u16e4\u0001\u0000\u0000\u0000\u16e7"+
57894 "\u16e8\u0001\u0000\u0000\u0000\u16e8\u0333\u0001\u0000\u0000\u0000\u16e9"+
57895 "\u16eb\u0003\u034e\u01a7\u0000\u16ea\u16ec\u0003P(\u0000\u16eb\u16ea\u0001"+
57896 "\u0000\u0000\u0000\u16eb\u16ec\u0001\u0000\u0000\u0000\u16ec\u16f4\u0001"+
57897 "\u0000\u0000\u0000\u16ed\u16ee\u0005%\u0000\u0000\u16ee\u16f0\u0003\u034e"+
57898 "\u01a7\u0000\u16ef\u16f1\u0003P(\u0000\u16f0\u16ef\u0001\u0000\u0000\u0000"+
57899 "\u16f0\u16f1\u0001\u0000\u0000\u0000\u16f1\u16f3\u0001\u0000\u0000\u0000"+
57900 "\u16f2\u16ed\u0001\u0000\u0000\u0000\u16f3\u16f6\u0001\u0000\u0000\u0000"+
57901 "\u16f4\u16f2\u0001\u0000\u0000\u0000\u16f4\u16f5\u0001\u0000\u0000\u0000"+
57902 "\u16f5\u0335\u0001\u0000\u0000\u0000\u16f6\u16f4\u0001\u0000\u0000\u0000"+
57903 "\u16f7\u16f8\u0003\u038c\u01c6\u0000\u16f8\u16f9\u0005\u000e\u0000\u0000"+
57904 "\u16f9\u16fa\u0005\u000e\u0000\u0000\u16fa\u16fc\u0001\u0000\u0000\u0000"+
57905 "\u16fb\u16f7\u0001\u0000\u0000\u0000\u16fb\u16fc\u0001\u0000\u0000\u0000"+
57906 "\u16fc\u16fd\u0001\u0000\u0000\u0000\u16fd\u16fe\u0003\u033c\u019e\u0000"+
57907 "\u16fe\u0337\u0001\u0000\u0000\u0000\u16ff\u1704\u0003\u034e\u01a7\u0000"+
57908 "\u1700\u1701\u0005%\u0000\u0000\u1701\u1703\u0003\u034e\u01a7\u0000\u1702"+
57909 "\u1700\u0001\u0000\u0000\u0000\u1703\u1706\u0001\u0000\u0000\u0000\u1704"+
57910 "\u1702\u0001\u0000\u0000\u0000\u1704\u1705\u0001\u0000\u0000\u0000\u1705"+
57911 "\u0339\u0001\u0000\u0000\u0000\u1706\u1704\u0001\u0000\u0000\u0000\u1707"+
57912 "\u1708\u0003\u038e\u01c7\u0000\u1708\u1709\u0005\u000e\u0000\u0000\u1709"+
57913 "\u170a\u0005\u000e\u0000\u0000\u170a\u170c\u0001\u0000\u0000\u0000\u170b"+
57914 "\u1707\u0001\u0000\u0000\u0000\u170b\u170c\u0001\u0000\u0000\u0000\u170c"+
57915 "\u170d\u0001\u0000\u0000\u0000\u170d\u170e\u0003\u033c\u019e\u0000\u170e"+
57916 "\u033b\u0001\u0000\u0000\u0000\u170f\u1710\u0003L&\u0000\u1710\u1711\u0005"+
57917 "\u0014\u0000\u0000\u1711\u1713\u0001\u0000\u0000\u0000\u1712\u170f\u0001"+
57918 "\u0000\u0000\u0000\u1712\u1713\u0001\u0000\u0000\u0000\u1713\u1714\u0001"+
57919 "\u0000\u0000\u0000\u1714\u1715\u0003N\'\u0000\u1715\u033d\u0001\u0000"+
57920 "\u0000\u0000\u1716\u1717\u0003\u03ac\u01d6\u0000\u1717\u033f\u0001\u0000"+
57921 "\u0000\u0000\u1718\u171e\u00058\u0000\u0000\u1719\u171b\u0003\u034c\u01a6"+
57922 "\u0000\u171a\u1719\u0001\u0000\u0000\u0000\u171a\u171b\u0001\u0000\u0000"+
57923 "\u0000\u171b\u171c\u0001\u0000\u0000\u0000\u171c\u171f\u0003\u0342\u01a1"+
57924 "\u0000\u171d\u171f\u0003\u0344\u01a2\u0000\u171e\u171a\u0001\u0000\u0000"+
57925 "\u0000\u171e\u171d\u0001\u0000\u0000\u0000\u171f\u0341\u0001\u0000\u0000"+
57926 "\u0000\u1720\u1723\u0003\u0334\u019a\u0000\u1721\u1722\u0005a\u0000\u0000"+
57927 "\u1722\u1724\u0003\u0336\u019b\u0000\u1723\u1721\u0001\u0000\u0000\u0000"+
57928 "\u1723\u1724\u0001\u0000\u0000\u0000\u1724\u1725\u0001\u0000\u0000\u0000"+
57929 "\u1725\u1726\u0007Z\u0000\u0000\u1726\u172b\u0003\u033e\u019f\u0000\u1727"+
57930 "\u1728\u0005%\u0000\u0000\u1728\u172a\u0003\u033e\u019f\u0000\u1729\u1727"+
57931 "\u0001\u0000\u0000\u0000\u172a\u172d\u0001\u0000\u0000\u0000\u172b\u1729"+
57932 "\u0001\u0000\u0000\u0000\u172b\u172c\u0001\u0000\u0000\u0000\u172c\u172f"+
57933 "\u0001\u0000\u0000\u0000\u172d\u172b\u0001\u0000\u0000\u0000\u172e\u1730"+
57934 "\u0005\u00fd\u0000\u0000\u172f\u172e\u0001\u0000\u0000\u0000\u172f\u1730"+
57935 "\u0001\u0000\u0000\u0000\u1730\u1733\u0001\u0000\u0000\u0000\u1731\u1732"+
57936 "\u0005`\u0000\u0000\u1732\u1734\u0003\u033e\u019f\u0000\u1733\u1731\u0001"+
57937 "\u0000\u0000\u0000\u1733\u1734\u0001\u0000\u0000\u0000\u1734\u0343\u0001"+
57938 "\u0000\u0000\u0000\u1735\u1738\u0003\u0338\u019c\u0000\u1736\u1737\u0005"+
57939 "a\u0000\u0000\u1737\u1739\u0003\u033a\u019d\u0000\u1738\u1736\u0001\u0000"+
57940 "\u0000\u0000\u1738\u1739\u0001\u0000\u0000\u0000\u1739\u173a\u0001\u0000"+
57941 "\u0000\u0000\u173a\u173b\u0007Z\u0000\u0000\u173b\u1740\u0003\u033e\u019f"+
57942 "\u0000\u173c\u173d\u0005%\u0000\u0000\u173d\u173f\u0003\u033e\u019f\u0000"+
57943 "\u173e\u173c\u0001\u0000\u0000\u0000\u173f\u1742\u0001\u0000\u0000\u0000"+
57944 "\u1740\u173e\u0001\u0000\u0000\u0000\u1740\u1741\u0001\u0000\u0000\u0000"+
57945 "\u1741\u1744\u0001\u0000\u0000\u0000\u1742\u1740\u0001\u0000\u0000\u0000"+
57946 "\u1743\u1745\u0005\u00fd\u0000\u0000\u1744\u1743\u0001\u0000\u0000\u0000"+
57947 "\u1744\u1745\u0001\u0000\u0000\u0000\u1745\u0345\u0001\u0000\u0000\u0000"+
57948 "\u1746\u1749\u0005\u0117\u0000\u0000\u1747\u174a\u0003\u0348\u01a4\u0000"+
57949 "\u1748\u174a\u0003\u034a\u01a5\u0000\u1749\u1747\u0001\u0000\u0000\u0000"+
57950 "\u1749\u1748\u0001\u0000\u0000\u0000\u174a\u0347\u0001\u0000\u0000\u0000"+
57951 "\u174b\u174e\u0003\u0334\u019a\u0000\u174c\u174d\u0005a\u0000\u0000\u174d"+
57952 "\u174f\u0003\u0336\u019b\u0000\u174e\u174c\u0001\u0000\u0000\u0000\u174e"+
57953 "\u174f\u0001\u0000\u0000\u0000\u174f\u1750\u0001\u0000\u0000\u0000\u1750"+
57954 "\u1751\u0005g\u0000\u0000\u1751\u1756\u0003\u033e\u019f\u0000\u1752\u1753"+
57955 "\u0005%\u0000\u0000\u1753\u1755\u0003\u033e\u019f\u0000\u1754\u1752\u0001"+
57956 "\u0000\u0000\u0000\u1755\u1758\u0001\u0000\u0000\u0000\u1756\u1754\u0001"+
57957 "\u0000\u0000\u0000\u1756\u1757\u0001\u0000\u0000\u0000\u1757\u175a\u0001"+
57958 "\u0000\u0000\u0000\u1758\u1756\u0001\u0000\u0000\u0000\u1759\u175b\u0005"+
57959 "\u00fd\u0000\u0000\u175a\u1759\u0001\u0000\u0000\u0000\u175a\u175b\u0001"+
57960 "\u0000\u0000\u0000\u175b\u175e\u0001\u0000\u0000\u0000\u175c\u175d\u0005"+
57961 "`\u0000\u0000\u175d\u175f\u0003\u033e\u019f\u0000\u175e\u175c\u0001\u0000"+
57962 "\u0000\u0000\u175e\u175f\u0001\u0000\u0000\u0000\u175f\u0349\u0001\u0000"+
57963 "\u0000\u0000\u1760\u1763\u0003\u0338\u019c\u0000\u1761\u1762\u0005a\u0000"+
57964 "\u0000\u1762\u1764\u0003\u033a\u019d\u0000\u1763\u1761\u0001\u0000\u0000"+
57965 "\u0000\u1763\u1764\u0001\u0000\u0000\u0000\u1764\u1765\u0001\u0000\u0000"+
57966 "\u0000\u1765\u1766\u0005g\u0000\u0000\u1766\u176b\u0003\u033e\u019f\u0000"+
57967 "\u1767\u1768\u0005%\u0000\u0000\u1768\u176a\u0003\u033e\u019f\u0000\u1769"+
57968 "\u1767\u0001\u0000\u0000\u0000\u176a\u176d\u0001\u0000\u0000\u0000\u176b"+
57969 "\u1769\u0001\u0000\u0000\u0000\u176b\u176c\u0001\u0000\u0000\u0000\u176c"+
57970 "\u176f\u0001\u0000\u0000\u0000\u176d\u176b\u0001\u0000\u0000\u0000\u176e"+
57971 "\u1770\u0005\u00fd\u0000\u0000\u176f\u176e\u0001\u0000\u0000\u0000\u176f"+
57972 "\u1770\u0001\u0000\u0000\u0000\u1770\u034b\u0001\u0000\u0000\u0000\u1771"+
57973 "\u1772\u00057\u0000\u0000\u1772\u1773\u0005\u0101\u0000\u0000\u1773\u1774"+
57974 "\u0005f\u0000\u0000\u1774\u034d\u0001\u0000\u0000\u0000\u1775\u1777\u0005"+
57975 "r\u0000\u0000\u1776\u1778\u0005\u0102\u0000\u0000\u1777\u1776\u0001\u0000"+
57976 "\u0000\u0000\u1777\u1778\u0001\u0000\u0000\u0000\u1778\u178d\u0001\u0000"+
57977 "\u0000\u0000\u1779\u178d\u0003\u037a\u01bd\u0000\u177a\u178d\u0003\u0378"+
57978 "\u01bc\u0000\u177b\u178d\u0003\u037c\u01be\u0000\u177c\u178d\u0003\u0374"+
57979 "\u01ba\u0000\u177d\u178d\u0003\u0350\u01a8\u0000\u177e\u178d\u0003\u0388"+
57980 "\u01c4\u0000\u177f\u178d\u0003\u0356\u01ab\u0000\u1780\u178d\u0003\u0358"+
57981 "\u01ac\u0000\u1781\u178d\u0003\u0360\u01b0\u0000\u1782\u178d\u0003\u0372"+
57982 "\u01b9\u0000\u1783\u178d\u0003\u037e\u01bf\u0000\u1784\u178d\u0003\u0362"+
57983 "\u01b1\u0000\u1785\u178d\u0003\u0364\u01b2\u0000\u1786\u178d\u0003\u0352"+
57984 "\u01a9\u0000\u1787\u178d\u0003\u0354\u01aa\u0000\u1788\u178d\u0003\u0366"+
57985 "\u01b3\u0000\u1789\u178d\u0003\u0376\u01bb\u0000\u178a\u178d\u0003\u0384"+
57986 "\u01c2\u0000\u178b\u178d\u0003\u0386\u01c3\u0000\u178c\u1775\u0001\u0000"+
57987 "\u0000\u0000\u178c\u1779\u0001\u0000\u0000\u0000\u178c\u177a\u0001\u0000"+
57988 "\u0000\u0000\u178c\u177b\u0001\u0000\u0000\u0000\u178c\u177c\u0001\u0000"+
57989 "\u0000\u0000\u178c\u177d\u0001\u0000\u0000\u0000\u178c\u177e\u0001\u0000"+
57990 "\u0000\u0000\u178c\u177f\u0001\u0000\u0000\u0000\u178c\u1780\u0001\u0000"+
57991 "\u0000\u0000\u178c\u1781\u0001\u0000\u0000\u0000\u178c\u1782\u0001\u0000"+
57992 "\u0000\u0000\u178c\u1783\u0001\u0000\u0000\u0000\u178c\u1784\u0001\u0000"+
57993 "\u0000\u0000\u178c\u1785\u0001\u0000\u0000\u0000\u178c\u1786\u0001\u0000"+
57994 "\u0000\u0000\u178c\u1787\u0001\u0000\u0000\u0000\u178c\u1788\u0001\u0000"+
57995 "\u0000\u0000\u178c\u1789\u0001\u0000\u0000\u0000\u178c\u178a\u0001\u0000"+
57996 "\u0000\u0000\u178c\u178b\u0001\u0000\u0000\u0000\u178d\u034f\u0001\u0000"+
57997 "\u0000\u0000\u178e\u179f\u00053\u0000\u0000\u178f\u179f\u0005\u014b\u0000"+
57998 "\u0000\u1790\u179f\u00051\u0000\u0000\u1791\u179f\u0005\u0145\u0000\u0000"+
57999 "\u1792\u179f\u0005/\u0000\u0000\u1793\u179f\u0005\u0155\u0000\u0000\u1794"+
58000 "\u179f\u0005\u0103\u0000\u0000\u1795\u179f\u0005.\u0000\u0000\u1796\u1797"+
58001 "\u0005\u014d\u0000\u0000\u1797\u179f\u0005\u014e\u0000\u0000\u1798\u179f"+
58002 "\u00050\u0000\u0000\u1799\u179a\u0005J\u0000\u0000\u179a\u179b\u0005\u0156"+
58003 "\u0000\u0000\u179b\u179f\u0005\u0158\u0000\u0000\u179c\u179d\u0005J\u0000"+
58004 "\u0000\u179d\u179f\u0005\u014f\u0000\u0000\u179e\u178e\u0001\u0000\u0000"+
58005 "\u0000\u179e\u178f\u0001\u0000\u0000\u0000\u179e\u1790\u0001\u0000\u0000"+
58006 "\u0000\u179e\u1791\u0001\u0000\u0000\u0000\u179e\u1792\u0001\u0000\u0000"+
58007 "\u0000\u179e\u1793\u0001\u0000\u0000\u0000\u179e\u1794\u0001\u0000\u0000"+
58008 "\u0000\u179e\u1795\u0001\u0000\u0000\u0000\u179e\u1796\u0001\u0000\u0000"+
58009 "\u0000\u179e\u1798\u0001\u0000\u0000\u0000\u179e\u1799\u0001\u0000\u0000"+
58010 "\u0000\u179e\u179c\u0001\u0000\u0000\u0000\u179f\u0351\u0001\u0000\u0000"+
58011 "\u0000\u17a0\u17a1\u0005\u016a\u0000\u0000\u17a1\u17a2\u0005\u016b\u0000"+
58012 "\u0000\u17a2\u17ee\u0005\u016c\u0000\u0000\u17a3\u17a9\u00053\u0000\u0000"+
58013 "\u17a4\u17aa\u0005\u0159\u0000\u0000\u17a5\u17aa\u0005\u015a\u0000\u0000"+
58014 "\u17a6\u17aa\u0005\u0157\u0000\u0000\u17a7\u17a8\u0005\u0154\u0000\u0000"+
58015 "\u17a8\u17aa\u0005\u015b\u0000\u0000\u17a9\u17a4\u0001\u0000\u0000\u0000"+
58016 "\u17a9\u17a5\u0001\u0000\u0000\u0000\u17a9\u17a6\u0001\u0000\u0000\u0000"+
58017 "\u17a9\u17a7\u0001\u0000\u0000\u0000\u17aa\u17ee\u0001\u0000\u0000\u0000"+
58018 "\u17ab\u17ac\u00053\u0000\u0000\u17ac\u17be\u0005s\u0000\u0000\u17ad\u17ae"+
58019 "\u0005\u015c\u0000\u0000\u17ae\u17bf\u0005v\u0000\u0000\u17af\u17bf\u0005"+
58020 "\u0149\u0000\u0000\u17b0\u17bf\u0005\u015d\u0000\u0000\u17b1\u17bf\u0005"+
58021 "\u00cc\u0000\u0000\u17b2\u17bf\u0005\u015e\u0000\u0000\u17b3\u17b4\u0005"+
58022 "\u015f\u0000\u0000\u17b4\u17bf\u0005\u0160\u0000\u0000\u17b5\u17b6\u0005"+
58023 "\u015f\u0000\u0000\u17b6\u17bf\u0005\u0147\u0000\u0000\u17b7\u17b8\u0005"+
58024 "\u0161\u0000\u0000\u17b8\u17bf\u0005\u0154\u0000\u0000\u17b9\u17bf\u0005"+
58025 "\u0129\u0000\u0000\u17ba\u17bb\u0005\u0154\u0000\u0000\u17bb\u17bf\u0005"+
58026 "\u0162\u0000\u0000\u17bc\u17bd\u0005\u0154\u0000\u0000\u17bd\u17bf\u0005"+
58027 "\u0105\u0000\u0000\u17be\u17ad\u0001\u0000\u0000\u0000\u17be\u17af\u0001"+
58028 "\u0000\u0000\u0000\u17be\u17b0\u0001\u0000\u0000\u0000\u17be\u17b1\u0001"+
58029 "\u0000\u0000\u0000\u17be\u17b2\u0001\u0000\u0000\u0000\u17be\u17b3\u0001"+
58030 "\u0000\u0000\u0000\u17be\u17b5\u0001\u0000\u0000\u0000\u17be\u17b7\u0001"+
58031 "\u0000\u0000\u0000\u17be\u17b9\u0001\u0000\u0000\u0000\u17be\u17ba\u0001"+
58032 "\u0000\u0000\u0000\u17be\u17bc\u0001\u0000\u0000\u0000\u17bf\u17ee\u0001"+
58033 "\u0000\u0000\u0000\u17c0\u17c1\u0005\u0167\u0000\u0000\u17c1\u17ee\u0005"+
58034 "\u0154\u0000\u0000\u17c2\u17c3\u0005\u0148\u0000\u0000\u17c3\u17c4\u0005"+
58035 "s\u0000\u0000\u17c4\u17ee\u0005\u00cc\u0000\u0000\u17c5\u17c6\u0005\u0148"+
58036 "\u0000\u0000\u17c6\u17ee\u0005\u00a4\u0000\u0000\u17c7\u17c8\u0005\u014b"+
58037 "\u0000\u0000\u17c8\u17ee\u0005\u0154\u0000\u0000\u17c9\u17ca\u00052\u0000"+
58038 "\u0000\u17ca\u17cb\u0005s\u0000\u0000\u17cb\u17ee\u0005\u00cc\u0000\u0000"+
58039 "\u17cc\u17d8\u00052\u0000\u0000\u17cd\u17ce\u0005\u015c\u0000\u0000\u17ce"+
58040 "\u17d9\u0005v\u0000\u0000\u17cf\u17d0\u0005\u0163\u0000\u0000\u17d0\u17d1"+
58041 "\u0005\u015f\u0000\u0000\u17d1\u17d9\u0005\u0160\u0000\u0000\u17d2\u17d9"+
58042 "\u0005\u015e\u0000\u0000\u17d3\u17d4\u0005\u0154\u0000\u0000\u17d4\u17d9"+
58043 "\u0005\u0105\u0000\u0000\u17d5\u17d6\u0005\u0157\u0000\u0000\u17d6\u17d7"+
58044 "\u0005\u015f\u0000\u0000\u17d7\u17d9\u0005\u0160\u0000\u0000\u17d8\u17cd"+
58045 "\u0001\u0000\u0000\u0000\u17d8\u17cf\u0001\u0000\u0000\u0000\u17d8\u17d2"+
58046 "\u0001\u0000\u0000\u0000\u17d8\u17d3\u0001\u0000\u0000\u0000\u17d8\u17d5"+
58047 "\u0001\u0000\u0000\u0000\u17d9\u17ee\u0001\u0000\u0000\u0000\u17da\u17db"+
58048 "\u0005\u0168\u0000\u0000\u17db\u17dc\u0005\u0169\u0000\u0000\u17dc\u17ee"+
58049 "\u0005\u0151\u0000\u0000\u17dd\u17de\u0005\u0165\u0000\u0000\u17de\u17df"+
58050 "\u0005s\u0000\u0000\u17df\u17ee\u0005\u0129\u0000\u0000\u17e0\u17e1\u0005"+
58051 ".\u0000\u0000\u17e1\u17e2\u0005r\u0000\u0000\u17e2\u17e3\u0005\u0104\u0000"+
58052 "\u0000\u17e3\u17ee\u0005\u0166\u0000\u0000\u17e4\u17ee\u0005\u016e\u0000"+
58053 "\u0000\u17e5\u17e6\u0005\u016d\u0000\u0000\u17e6\u17ee\u0005\u0151\u0000"+
58054 "\u0000\u17e7\u17e8\u0005J\u0000\u0000\u17e8\u17e9\u0005s\u0000\u0000\u17e9"+
58055 "\u17ee\u0007[\u0000\u0000\u17ea\u17eb\u0005J\u0000\u0000\u17eb\u17ec\u0005"+
58056 "\u0154\u0000\u0000\u17ec\u17ee\u0005\u015b\u0000\u0000\u17ed\u17a0\u0001"+
58057 "\u0000\u0000\u0000\u17ed\u17a3\u0001\u0000\u0000\u0000\u17ed\u17ab\u0001"+
58058 "\u0000\u0000\u0000\u17ed\u17c0\u0001\u0000\u0000\u0000\u17ed\u17c2\u0001"+
58059 "\u0000\u0000\u0000\u17ed\u17c5\u0001\u0000\u0000\u0000\u17ed\u17c7\u0001"+
58060 "\u0000\u0000\u0000\u17ed\u17c9\u0001\u0000\u0000\u0000\u17ed\u17cc\u0001"+
58061 "\u0000\u0000\u0000\u17ed\u17da\u0001\u0000\u0000\u0000\u17ed\u17dd\u0001"+
58062 "\u0000\u0000\u0000\u17ed\u17e0\u0001\u0000\u0000\u0000\u17ed\u17e4\u0001"+
58063 "\u0000\u0000\u0000\u17ed\u17e5\u0001\u0000\u0000\u0000\u17ed\u17e7\u0001"+
58064 "\u0000\u0000\u0000\u17ed\u17ea\u0001\u0000\u0000\u0000\u17ee\u0353\u0001"+
58065 "\u0000\u0000\u0000\u17ef\u17f1\u0005\u014b\u0000\u0000\u17f0\u17f2\u0005"+
58066 "\u0154\u0000\u0000\u17f1\u17f0\u0001\u0000\u0000\u0000\u17f1\u17f2\u0001"+
58067 "\u0000\u0000\u0000\u17f2\u1802\u0001\u0000\u0000\u0000\u17f3\u1802\u0005"+
58068 "\u0165\u0000\u0000\u17f4\u17f6\u0005J\u0000\u0000\u17f5\u17f7\u0005s\u0000"+
58069 "\u0000\u17f6\u17f5\u0001\u0000\u0000\u0000\u17f6\u17f7\u0001\u0000\u0000"+
58070 "\u0000\u17f7\u17f8\u0001\u0000\u0000\u0000\u17f8\u1802\u0005\u014f\u0000"+
58071 "\u0000\u17f9\u1802\u00053\u0000\u0000\u17fa\u17fb\u00053\u0000\u0000\u17fb"+
58072 "\u17ff\u0005s\u0000\u0000\u17fc\u1800\u0005\u0129\u0000\u0000\u17fd\u17fe"+
58073 "\u0005\u0154\u0000\u0000\u17fe\u1800\u0005\u0105\u0000\u0000\u17ff\u17fc"+
58074 "\u0001\u0000\u0000\u0000\u17ff\u17fd\u0001\u0000\u0000\u0000\u1800\u1802"+
58075 "\u0001\u0000\u0000\u0000\u1801\u17ef\u0001\u0000\u0000\u0000\u1801\u17f3"+
58076 "\u0001\u0000\u0000\u0000\u1801\u17f4\u0001\u0000\u0000\u0000\u1801\u17f9"+
58077 "\u0001\u0000\u0000\u0000\u1801\u17fa\u0001\u0000\u0000\u0000\u1802\u0355"+
58078 "\u0001\u0000\u0000\u0000\u1803\u1804\u0005\u016a\u0000\u0000\u1804\u1805"+
58079 "\u0005\u00cc\u0000\u0000\u1805\u1806\u0005\u016b\u0000\u0000\u1806\u18ab"+
58080 "\u0005\u016c\u0000\u0000\u1807\u18ab\u00053\u0000\u0000\u1808\u1809\u0005"+
58081 "3\u0000\u0000\u1809\u18ab\u0005\u0157\u0000\u0000\u180a\u180b\u00053\u0000"+
58082 "\u0000\u180b\u1845\u0005s\u0000\u0000\u180c\u180d\u0005\u0150\u0000\u0000"+
58083 "\u180d\u1846\u0005\u0105\u0000\u0000\u180e\u1846\u0005\u0151\u0000\u0000"+
58084 "\u180f\u1814\u0005\u0152\u0000\u0000\u1810\u1814\u0005\u0153\u0000\u0000"+
58085 "\u1811\u1812\u0005<\u0000\u0000\u1812\u1814\u0005\u0175\u0000\u0000\u1813"+
58086 "\u180f\u0001\u0000\u0000\u0000\u1813\u1810\u0001\u0000\u0000\u0000\u1813"+
58087 "\u1811\u0001\u0000\u0000\u0000\u1814\u1815\u0001\u0000\u0000\u0000\u1815"+
58088 "\u1846\u0005C\u0000\u0000\u1816\u1846\u0005\u0173\u0000\u0000\u1817\u1846"+
58089 "\u0005\u0149\u0000\u0000\u1818\u1819\u0005<\u0000\u0000\u1819\u181a\u0005"+
58090 "\u0176\u0000\u0000\u181a\u181b\u0005C\u0000\u0000\u181b\u1846\u0005\u014f"+
58091 "\u0000\u0000\u181c\u1846\u0005\u0174\u0000\u0000\u181d\u1827\u0005\u00cc"+
58092 "\u0000\u0000\u181e\u1828\u0005\u0162\u0000\u0000\u181f\u1820\u0005\u0163"+
58093 "\u0000\u0000\u1820\u1828\u0005G\u0000\u0000\u1821\u1822\u0005\u015f\u0000"+
58094 "\u0000\u1822\u1828\u0005\u0160\u0000\u0000\u1823\u1824\u0005\u015f\u0000"+
58095 "\u0000\u1824\u1828\u0005\u0147\u0000\u0000\u1825\u1826\u0005\u016f\u0000"+
58096 "\u0000\u1826\u1828\u0005\u0170\u0000\u0000\u1827\u181e\u0001\u0000\u0000"+
58097 "\u0000\u1827\u181f\u0001\u0000\u0000\u0000\u1827\u1821\u0001\u0000\u0000"+
58098 "\u0000\u1827\u1823\u0001\u0000\u0000\u0000\u1827\u1825\u0001\u0000\u0000"+
58099 "\u0000\u1827\u1828\u0001\u0000\u0000\u0000\u1828\u1846\u0001\u0000\u0000"+
58100 "\u0000\u1829\u1846\u0005\u0171\u0000\u0000\u182a\u182b\u0005\u015f\u0000"+
58101 "\u0000\u182b\u1846\u0007\\\u0000\u0000\u182c\u1832\u0005\u0168\u0000\u0000"+
58102 "\u182d\u182e\u0005\u0177\u0000\u0000\u182e\u1833\u0005\u0178\u0000\u0000"+
58103 "\u182f\u1830\u0005\u0179\u0000\u0000\u1830\u1833\u0005\u017a\u0000\u0000"+
58104 "\u1831\u1833\u0005\u017b\u0000\u0000\u1832\u182d\u0001\u0000\u0000\u0000"+
58105 "\u1832\u182f\u0001\u0000\u0000\u0000\u1832\u1831\u0001\u0000\u0000\u0000"+
58106 "\u1833\u1846\u0001\u0000\u0000\u0000\u1834\u1835\u0005\u017c\u0000\u0000"+
58107 "\u1835\u1846\u0005\u014a\u0000\u0000\u1836\u1846\u0005\u017d\u0000\u0000"+
58108 "\u1837\u1838\u0005\u017f\u0000\u0000\u1838\u1846\u0005\u00b0\u0000\u0000"+
58109 "\u1839\u183a\u0005\u0180\u0000\u0000\u183a\u183b\u0005\u0172\u0000\u0000"+
58110 "\u183b\u1846\u0005\u0181\u0000\u0000\u183c\u1846\u0005\u0105\u0000\u0000"+
58111 "\u183d\u1846\u0005\u0182\u0000\u0000\u183e\u183f\u0005\u0154\u0000\u0000"+
58112 "\u183f\u1846\u0005\u0162\u0000\u0000\u1840\u1846\u00056\u0000\u0000\u1841"+
58113 "\u1842\u0005\u0183\u0000\u0000\u1842\u1846\u0005\u0184\u0000\u0000\u1843"+
58114 "\u1846\u0005\u0172\u0000\u0000\u1844\u1846\u0005\u0104\u0000\u0000\u1845"+
58115 "\u180c\u0001\u0000\u0000\u0000\u1845\u180e\u0001\u0000\u0000\u0000\u1845"+
58116 "\u1813\u0001\u0000\u0000\u0000\u1845\u1816\u0001\u0000\u0000\u0000\u1845"+
58117 "\u1817\u0001\u0000\u0000\u0000\u1845\u1818\u0001\u0000\u0000\u0000\u1845"+
58118 "\u181c\u0001\u0000\u0000\u0000\u1845\u181d\u0001\u0000\u0000\u0000\u1845"+
58119 "\u1829\u0001\u0000\u0000\u0000\u1845\u182a\u0001\u0000\u0000\u0000\u1845"+
58120 "\u182c\u0001\u0000\u0000\u0000\u1845\u1834\u0001\u0000\u0000\u0000\u1845"+
58121 "\u1836\u0001\u0000\u0000\u0000\u1845\u1837\u0001\u0000\u0000\u0000\u1845"+
58122 "\u1839\u0001\u0000\u0000\u0000\u1845\u183c\u0001\u0000\u0000\u0000\u1845"+
58123 "\u183d\u0001\u0000\u0000\u0000\u1845\u183e\u0001\u0000\u0000\u0000\u1845"+
58124 "\u1840\u0001\u0000\u0000\u0000\u1845\u1841\u0001\u0000\u0000\u0000\u1845"+
58125 "\u1843\u0001\u0000\u0000\u0000\u1845\u1844\u0001\u0000\u0000\u0000\u1846"+
58126 "\u18ab\u0001\u0000\u0000\u0000\u1847\u1849\u0005\u0167\u0000\u0000\u1848"+
58127 "\u184a\u0005\u0154\u0000\u0000\u1849\u1848\u0001\u0000\u0000\u0000\u1849"+
58128 "\u184a\u0001\u0000\u0000\u0000\u184a\u18ab\u0001\u0000\u0000\u0000\u184b"+
58129 "\u184c\u0005\u018c\u0000\u0000\u184c\u18ab\u0007]\u0000\u0000\u184d\u18ab"+
58130 "\u0005\u0192\u0000\u0000\u184e\u18ab\u0005\u0148\u0000\u0000\u184f\u1851"+
58131 "\u0005\u0148\u0000\u0000\u1850\u1852\u0005\u013b\u0000\u0000\u1851\u1850"+
58132 "\u0001\u0000\u0000\u0000\u1851\u1852\u0001\u0000\u0000\u0000\u1852\u18ab"+
58133 "\u0001\u0000\u0000\u0000\u1853\u1855\u0005\u014b\u0000\u0000\u1854\u1856"+
58134 "\u0005\u0154\u0000\u0000\u1855\u1854\u0001\u0000\u0000\u0000\u1855\u1856"+
58135 "\u0001\u0000\u0000\u0000\u1856\u18ab\u0001\u0000\u0000\u0000\u1857\u187c"+
58136 "\u00052\u0000\u0000\u1858\u187d\u0005\u0185\u0000\u0000\u1859\u187d\u0005"+
58137 "\u0151\u0000\u0000\u185a\u185b\u0007^\u0000\u0000\u185b\u187d\u0005C\u0000"+
58138 "\u0000\u185c\u187d\u0005\u0173\u0000\u0000\u185d\u187d\u0005\u0174\u0000"+
58139 "\u0000\u185e\u187d\u0005\u00cc\u0000\u0000\u185f\u1861\u0005\u00cc\u0000"+
58140 "\u0000\u1860\u185f\u0001\u0000\u0000\u0000\u1860\u1861\u0001\u0000\u0000"+
58141 "\u0000\u1861\u1862\u0001\u0000\u0000\u0000\u1862\u1863\u0005\u0163\u0000"+
58142 "\u0000\u1863\u1864\u0005\u015f\u0000\u0000\u1864\u187d\u0005\u0160\u0000"+
58143 "\u0000\u1865\u187d\u0005\u009a\u0000\u0000\u1866\u1867\u0005\u017c\u0000"+
58144 "\u0000\u1867\u187d\u0005\u014a\u0000\u0000\u1868\u187d\u0005F\u0000\u0000"+
58145 "\u1869\u186a\u0005\u017f\u0000\u0000\u186a\u187d\u0005\u00b0\u0000\u0000"+
58146 "\u186b\u187d\u0005H\u0000\u0000\u186c\u187d\u0005\u0186\u0000\u0000\u186d"+
58147 "\u186e\u0005\u0180\u0000\u0000\u186e\u186f\u0005\u0172\u0000\u0000\u186f"+
58148 "\u187d\u0005\u0181\u0000\u0000\u1870\u187d\u0005\u0105\u0000\u0000\u1871"+
58149 "\u187d\u0005\u0182\u0000\u0000\u1872\u187d\u0005\u0187\u0000\u0000\u1873"+
58150 "\u187d\u00056\u0000\u0000\u1874\u187d\u0005\u0172\u0000\u0000\u1875\u187d"+
58151 "\u0005\u0188\u0000\u0000\u1876\u187d\u0005;\u0000\u0000\u1877\u187d\u0005"+
58152 "\u00b0\u0000\u0000\u1878\u187d\u0005J\u0000\u0000\u1879\u187a\u0005\u0164"+
58153 "\u0000\u0000\u187a\u187b\u00056\u0000\u0000\u187b\u187d\u0005\u0189\u0000"+
58154 "\u0000\u187c\u1858\u0001\u0000\u0000\u0000\u187c\u1859\u0001\u0000\u0000"+
58155 "\u0000\u187c\u185a\u0001\u0000\u0000\u0000\u187c\u185c\u0001\u0000\u0000"+
58156 "\u0000\u187c\u185d\u0001\u0000\u0000\u0000\u187c\u185e\u0001\u0000\u0000"+
58157 "\u0000\u187c\u1860\u0001\u0000\u0000\u0000\u187c\u1865\u0001\u0000\u0000"+
58158 "\u0000\u187c\u1866\u0001\u0000\u0000\u0000\u187c\u1868\u0001\u0000\u0000"+
58159 "\u0000\u187c\u1869\u0001\u0000\u0000\u0000\u187c\u186b\u0001\u0000\u0000"+
58160 "\u0000\u187c\u186c\u0001\u0000\u0000\u0000\u187c\u186d\u0001\u0000\u0000"+
58161 "\u0000\u187c\u1870\u0001\u0000\u0000\u0000\u187c\u1871\u0001\u0000\u0000"+
58162 "\u0000\u187c\u1872\u0001\u0000\u0000\u0000\u187c\u1873\u0001\u0000\u0000"+
58163 "\u0000\u187c\u1874\u0001\u0000\u0000\u0000\u187c\u1875\u0001\u0000\u0000"+
58164 "\u0000\u187c\u1876\u0001\u0000\u0000\u0000\u187c\u1877\u0001\u0000\u0000"+
58165 "\u0000\u187c\u1878\u0001\u0000\u0000\u0000\u187c\u1879\u0001\u0000\u0000"+
58166 "\u0000\u187d\u18ab\u0001\u0000\u0000\u0000\u187e\u18ab\u00051\u0000\u0000"+
58167 "\u187f\u18ab\u0005\u0145\u0000\u0000\u1880\u1882\u0005\u0145\u0000\u0000"+
58168 "\u1881\u1883\u0005s\u0000\u0000\u1882\u1881\u0001\u0000\u0000\u0000\u1882"+
58169 "\u1883\u0001\u0000\u0000\u0000\u1883\u1884\u0001\u0000\u0000\u0000\u1884"+
58170 "\u1885\u0005\u0168\u0000\u0000\u1885\u18ab\u0005\u018a\u0000\u0000\u1886"+
58171 "\u18ab\u0005/\u0000\u0000\u1887\u1888\u0005\u018b\u0000\u0000\u1888\u1889"+
58172 "\u0005\u00cc\u0000\u0000\u1889\u18ab\u0005\u0149\u0000\u0000\u188a\u18ab"+
58173 "\u0005\u0103\u0000\u0000\u188b\u18ab\u0005.\u0000\u0000\u188c\u18ab\u0005"+
58174 "\u018e\u0000\u0000\u188d\u188e\u0005\u018f\u0000\u0000\u188e\u188f\u0005"+
58175 "\u0190\u0000\u0000\u188f\u18ab\u0005\u0191\u0000\u0000\u1890\u1891\u0005"+
58176 "\u014d\u0000\u0000\u1891\u18ab\u0005\u014e\u0000\u0000\u1892\u18ab\u0005"+
58177 "\u017e\u0000\u0000\u1893\u18ab\u00050\u0000\u0000\u1894\u1895\u0005J\u0000"+
58178 "\u0000\u1895\u1896\u0005s\u0000\u0000\u1896\u1897\u0005<\u0000\u0000\u1897"+
58179 "\u1898\u0007_\u0000\u0000\u1898\u1899\u0005C\u0000\u0000\u1899\u18ab\u0005"+
58180 "\u014f\u0000\u0000\u189a\u189b\u00052\u0000\u0000\u189b\u189f\u0005s\u0000"+
58181 "\u0000\u189c\u18a0\u0005\u00cc\u0000\u0000\u189d\u189e\u0005\u0168\u0000"+
58182 "\u0000\u189e\u18a0\u0005\u017b\u0000\u0000\u189f\u189c\u0001\u0000\u0000"+
58183 "\u0000\u189f\u189d\u0001\u0000\u0000\u0000\u18a0\u18ab\u0001\u0000\u0000"+
58184 "\u0000\u18a1\u18a2\u0005J\u0000\u0000\u18a2\u18a3\u0007`\u0000\u0000\u18a3"+
58185 "\u18ab\u0005\u015b\u0000\u0000\u18a4\u18a6\u0005J\u0000\u0000\u18a5\u18a7"+
58186 "\u0005s\u0000\u0000\u18a6\u18a5\u0001\u0000\u0000\u0000\u18a6\u18a7\u0001"+
58187 "\u0000\u0000\u0000\u18a7\u18a8\u0001\u0000\u0000\u0000\u18a8\u18ab\u0005"+
58188 "\u014f\u0000\u0000\u18a9\u18ab\u0001\u0000\u0000\u0000\u18aa\u1803\u0001"+
58189 "\u0000\u0000\u0000\u18aa\u1807\u0001\u0000\u0000\u0000\u18aa\u1808\u0001"+
58190 "\u0000\u0000\u0000\u18aa\u180a\u0001\u0000\u0000\u0000\u18aa\u1847\u0001"+
58191 "\u0000\u0000\u0000\u18aa\u184b\u0001\u0000\u0000\u0000\u18aa\u184d\u0001"+
58192 "\u0000\u0000\u0000\u18aa\u184e\u0001\u0000\u0000\u0000\u18aa\u184f\u0001"+
58193 "\u0000\u0000\u0000\u18aa\u1853\u0001\u0000\u0000\u0000\u18aa\u1857\u0001"+
58194 "\u0000\u0000\u0000\u18aa\u187e\u0001\u0000\u0000\u0000\u18aa\u187f\u0001"+
58195 "\u0000\u0000\u0000\u18aa\u1880\u0001\u0000\u0000\u0000\u18aa\u1886\u0001"+
58196 "\u0000\u0000\u0000\u18aa\u1887\u0001\u0000\u0000\u0000\u18aa\u188a\u0001"+
58197 "\u0000\u0000\u0000\u18aa\u188b\u0001\u0000\u0000\u0000\u18aa\u188c\u0001"+
58198 "\u0000\u0000\u0000\u18aa\u188d\u0001\u0000\u0000\u0000\u18aa\u1890\u0001"+
58199 "\u0000\u0000\u0000\u18aa\u1892\u0001\u0000\u0000\u0000\u18aa\u1893\u0001"+
58200 "\u0000\u0000\u0000\u18aa\u1894\u0001\u0000\u0000\u0000\u18aa\u189a\u0001"+
58201 "\u0000\u0000\u0000\u18aa\u18a1\u0001\u0000\u0000\u0000\u18aa\u18a4\u0001"+
58202 "\u0000\u0000\u0000\u18aa\u18a9\u0001\u0000\u0000\u0000\u18ab\u0357\u0001"+
58203 "\u0000\u0000\u0000\u18ac\u18b0\u0003\u035a\u01ad\u0000\u18ad\u18b0\u0003"+
58204 "\u035c\u01ae\u0000\u18ae\u18b0\u0003\u035e\u01af\u0000\u18af\u18ac\u0001"+
58205 "\u0000\u0000\u0000\u18af\u18ad\u0001\u0000\u0000\u0000\u18af\u18ae\u0001"+
58206 "\u0000\u0000\u0000\u18b0\u0359\u0001\u0000\u0000\u0000\u18b1\u18ba\u0005"+
58207 "\u014b\u0000\u0000\u18b2\u18ba\u0005\u0165\u0000\u0000\u18b3\u18ba\u0005"+
58208 "3\u0000\u0000\u18b4\u18b5\u0005J\u0000\u0000\u18b5\u18ba\u0005\u014f\u0000"+
58209 "\u0000\u18b6\u18b7\u00053\u0000\u0000\u18b7\u18b8\u0005s\u0000\u0000\u18b8"+
58210 "\u18ba\u0005\u0104\u0000\u0000\u18b9\u18b1\u0001\u0000\u0000\u0000\u18b9"+
58211 "\u18b2\u0001\u0000\u0000\u0000\u18b9\u18b3\u0001\u0000\u0000\u0000\u18b9"+
58212 "\u18b4\u0001\u0000\u0000\u0000\u18b9\u18b6\u0001\u0000\u0000\u0000\u18ba"+
58213 "\u035b\u0001\u0000\u0000\u0000\u18bb\u18c5\u0005\u014b\u0000\u0000\u18bc"+
58214 "\u18bd\u0005\u014d\u0000\u0000\u18bd\u18c5\u0005\u014e\u0000\u0000\u18be"+
58215 "\u18c5\u00053\u0000\u0000\u18bf\u18c0\u0005J\u0000\u0000\u18c0\u18c5\u0005"+
58216 "\u014f\u0000\u0000\u18c1\u18c2\u00053\u0000\u0000\u18c2\u18c3\u0005s\u0000"+
58217 "\u0000\u18c3\u18c5\u0005\u0105\u0000\u0000\u18c4\u18bb\u0001\u0000\u0000"+
58218 "\u0000\u18c4\u18bc\u0001\u0000\u0000\u0000\u18c4\u18be\u0001\u0000\u0000"+
58219 "\u0000\u18c4\u18bf\u0001\u0000\u0000\u0000\u18c4\u18c1\u0001\u0000\u0000"+
58220 "\u0000\u18c5\u035d\u0001\u0000\u0000\u0000\u18c6\u18cf\u0005\u014b\u0000"+
58221 "\u0000\u18c7\u18cf\u00053\u0000\u0000\u18c8\u18c9\u0005J\u0000\u0000\u18c9"+
58222 "\u18cf\u0005\u014f\u0000\u0000\u18ca\u18cb\u00053\u0000\u0000\u18cb\u18cc"+
58223 "\u0005s\u0000\u0000\u18cc\u18cd\u0005\u0150\u0000\u0000\u18cd\u18cf\u0005"+
58224 "\u0105\u0000\u0000\u18ce\u18c6\u0001\u0000\u0000\u0000\u18ce\u18c7\u0001"+
58225 "\u0000\u0000\u0000\u18ce\u18c8\u0001\u0000\u0000\u0000\u18ce\u18ca\u0001"+
58226 "\u0000\u0000\u0000\u18cf\u035f\u0001\u0000\u0000\u0000\u18d0\u18d8\u0005"+
58227 "\u014b\u0000\u0000\u18d1\u18d2\u0005\u014d\u0000\u0000\u18d2\u18d8\u0005"+
58228 "\u014e\u0000\u0000\u18d3\u18d8\u00053\u0000\u0000\u18d4\u18d8\u0005\u0103"+
58229 "\u0000\u0000\u18d5\u18d6\u0005J\u0000\u0000\u18d6\u18d8\u0005\u014f\u0000"+
58230 "\u0000\u18d7\u18d0\u0001\u0000\u0000\u0000\u18d7\u18d1\u0001\u0000\u0000"+
58231 "\u0000\u18d7\u18d3\u0001\u0000\u0000\u0000\u18d7\u18d4\u0001\u0000\u0000"+
58232 "\u0000\u18d7\u18d5\u0001\u0000\u0000\u0000\u18d8\u0361\u0001\u0000\u0000"+
58233 "\u0000\u18d9\u18ee\u00053\u0000\u0000\u18da\u18ee\u0005\u014b\u0000\u0000"+
58234 "\u18db\u18dc\u00052\u0000\u0000\u18dc\u18ee\u0005\u0193\u0000\u0000\u18dd"+
58235 "\u18ee\u00051\u0000\u0000\u18de\u18ee\u0005\u0145\u0000\u0000\u18df\u18ee"+
58236 "\u0005/\u0000\u0000\u18e0\u18ee\u0005\u0103\u0000\u0000\u18e1\u18ee\u0005"+
58237 ".\u0000\u0000\u18e2\u18e3\u0005\u014d\u0000\u0000\u18e3\u18ee\u0005\u014e"+
58238 "\u0000\u0000\u18e4\u18ee\u00050\u0000\u0000\u18e5\u18e6\u0005J\u0000\u0000"+
58239 "\u18e6\u18e7\u0005\u0156\u0000\u0000\u18e7\u18ee\u0005\u0158\u0000\u0000"+
58240 "\u18e8\u18e9\u0005J\u0000\u0000\u18e9\u18ee\u0005\u014f\u0000\u0000\u18ea"+
58241 "\u18eb\u00053\u0000\u0000\u18eb\u18ec\u0005s\u0000\u0000\u18ec\u18ee\u0005"+
58242 "6\u0000\u0000\u18ed\u18d9\u0001\u0000\u0000\u0000\u18ed\u18da\u0001\u0000"+
58243 "\u0000\u0000\u18ed\u18db\u0001\u0000\u0000\u0000\u18ed\u18dd\u0001\u0000"+
58244 "\u0000\u0000\u18ed\u18de\u0001\u0000\u0000\u0000\u18ed\u18df\u0001\u0000"+
58245 "\u0000\u0000\u18ed\u18e0\u0001\u0000\u0000\u0000\u18ed\u18e1\u0001\u0000"+
58246 "\u0000\u0000\u18ed\u18e2\u0001\u0000\u0000\u0000\u18ed\u18e4\u0001\u0000"+
58247 "\u0000\u0000\u18ed\u18e5\u0001\u0000\u0000\u0000\u18ed\u18e8\u0001\u0000"+
58248 "\u0000\u0000\u18ed\u18ea\u0001\u0000\u0000\u0000\u18ee\u0363\u0001\u0000"+
58249 "\u0000\u0000\u18ef\u18fb\u00053\u0000\u0000\u18f0\u18fb\u0005\u014b\u0000"+
58250 "\u0000\u18f1\u18fb\u0005\u0103\u0000\u0000\u18f2\u18f3\u0005\u014d\u0000"+
58251 "\u0000\u18f3\u18fb\u0005\u014e\u0000\u0000\u18f4\u18f5\u0005J\u0000\u0000"+
58252 "\u18f5\u18fb\u0005\u014f\u0000\u0000\u18f6\u18f7\u00053\u0000\u0000\u18f7"+
58253 "\u18f8\u0005s\u0000\u0000\u18f8\u18f9\u0005\u017c\u0000\u0000\u18f9\u18fb"+
58254 "\u0005\u014a\u0000\u0000\u18fa\u18ef\u0001\u0000\u0000\u0000\u18fa\u18f0"+
58255 "\u0001\u0000\u0000\u0000\u18fa\u18f1\u0001\u0000\u0000\u0000\u18fa\u18f2"+
58256 "\u0001\u0000\u0000\u0000\u18fa\u18f4\u0001\u0000\u0000\u0000\u18fa\u18f6"+
58257 "\u0001\u0000\u0000\u0000\u18fb\u0365\u0001\u0000\u0000\u0000\u18fc\u1902"+
58258 "\u0003\u0368\u01b4\u0000\u18fd\u1902\u0003\u036a\u01b5\u0000\u18fe\u1902"+
58259 "\u0003\u036c\u01b6\u0000\u18ff\u1902\u0003\u036e\u01b7\u0000\u1900\u1902"+
58260 "\u0003\u0370\u01b8\u0000\u1901\u18fc\u0001\u0000\u0000\u0000\u1901\u18fd"+
58261 "\u0001\u0000\u0000\u0000\u1901\u18fe\u0001\u0000\u0000\u0000\u1901\u18ff"+
58262 "\u0001\u0000\u0000\u0000\u1901\u1900\u0001\u0000\u0000\u0000\u1902\u0367"+
58263 "\u0001\u0000\u0000\u0000\u1903\u190e\u0005\u014b\u0000\u0000\u1904\u1905"+
58264 "\u0005\u014d\u0000\u0000\u1905\u190e\u0005\u014e\u0000\u0000\u1906\u190e"+
58265 "\u00053\u0000\u0000\u1907\u190e\u0005\u0103\u0000\u0000\u1908\u1909\u0005"+
58266 "J\u0000\u0000\u1909\u190e\u0005\u014f\u0000\u0000\u190a\u190b\u00053\u0000"+
58267 "\u0000\u190b\u190c\u0005s\u0000\u0000\u190c\u190e\u0005\u0174\u0000\u0000"+
58268 "\u190d\u1903\u0001\u0000\u0000\u0000\u190d\u1904\u0001\u0000\u0000\u0000"+
58269 "\u190d\u1906\u0001\u0000\u0000\u0000\u190d\u1907\u0001\u0000\u0000\u0000"+
58270 "\u190d\u1908\u0001\u0000\u0000\u0000\u190d\u190a\u0001\u0000\u0000\u0000"+
58271 "\u190e\u0369\u0001\u0000\u0000\u0000\u190f\u191b\u0005\u014b\u0000\u0000"+
58272 "\u1910\u1911\u0005\u014d\u0000\u0000\u1911\u191b\u0005\u014e\u0000\u0000"+
58273 "\u1912\u191b\u00053\u0000\u0000\u1913\u191b\u0005\u0103\u0000\u0000\u1914"+
58274 "\u1915\u0005J\u0000\u0000\u1915\u191b\u0005\u014f\u0000\u0000\u1916\u1917"+
58275 "\u00053\u0000\u0000\u1917\u1918\u0005s\u0000\u0000\u1918\u1919\u0005\u017f"+
58276 "\u0000\u0000\u1919\u191b\u0005\u00b0\u0000\u0000\u191a\u190f\u0001\u0000"+
58277 "\u0000\u0000\u191a\u1910\u0001\u0000\u0000\u0000\u191a\u1912\u0001\u0000"+
58278 "\u0000\u0000\u191a\u1913\u0001\u0000\u0000\u0000\u191a\u1914\u0001\u0000"+
58279 "\u0000\u0000\u191a\u1916\u0001\u0000\u0000\u0000\u191b\u036b\u0001\u0000"+
58280 "\u0000\u0000\u191c\u1928\u0005\u014b\u0000\u0000\u191d\u191e\u0005\u014d"+
58281 "\u0000\u0000\u191e\u1928\u0005\u014e\u0000\u0000\u191f\u1928\u00053\u0000"+
58282 "\u0000\u1920\u1921\u0005J\u0000\u0000\u1921\u1928\u0005\u014f\u0000\u0000"+
58283 "\u1922\u1923\u00053\u0000\u0000\u1923\u1924\u0005s\u0000\u0000\u1924\u1925"+
58284 "\u0005\u0180\u0000\u0000\u1925\u1926\u0005\u0172\u0000\u0000\u1926\u1928"+
58285 "\u0005\u0181\u0000\u0000\u1927\u191c\u0001\u0000\u0000\u0000\u1927\u191d"+
58286 "\u0001\u0000\u0000\u0000\u1927\u191f\u0001\u0000\u0000\u0000\u1927\u1920"+
58287 "\u0001\u0000\u0000\u0000\u1927\u1922\u0001\u0000\u0000\u0000\u1928\u036d"+
58288 "\u0001\u0000\u0000\u0000\u1929\u1933\u0005\u014b\u0000\u0000\u192a\u192b"+
58289 "\u0005\u014d\u0000\u0000\u192b\u1933\u0005\u014e\u0000\u0000\u192c\u1933"+
58290 "\u00053\u0000\u0000\u192d\u192e\u0005J\u0000\u0000\u192e\u1933\u0005\u014f"+
58291 "\u0000\u0000\u192f\u1930\u00053\u0000\u0000\u1930\u1931\u0005s\u0000\u0000"+
58292 "\u1931\u1933\u0005\u0182\u0000\u0000\u1932\u1929\u0001\u0000\u0000\u0000"+
58293 "\u1932\u192a\u0001\u0000\u0000\u0000\u1932\u192c\u0001\u0000\u0000\u0000"+
58294 "\u1932\u192d\u0001\u0000\u0000\u0000\u1932\u192f\u0001\u0000\u0000\u0000"+
58295 "\u1933\u036f\u0001\u0000\u0000\u0000\u1934\u193f\u0005\u014b\u0000\u0000"+
58296 "\u1935\u1936\u0005\u014d\u0000\u0000\u1936\u193f\u0005\u014e\u0000\u0000"+
58297 "\u1937\u193f\u0005\u02ac\u0000\u0000\u1938\u193f\u00053\u0000\u0000\u1939"+
58298 "\u193a\u0005J\u0000\u0000\u193a\u193f\u0005\u014f\u0000\u0000\u193b\u193c"+
58299 "\u00053\u0000\u0000\u193c\u193d\u0005s\u0000\u0000\u193d\u193f\u0005\u0172"+
58300 "\u0000\u0000\u193e\u1934\u0001\u0000\u0000\u0000\u193e\u1935\u0001\u0000"+
58301 "\u0000\u0000\u193e\u1937\u0001\u0000\u0000\u0000\u193e\u1938\u0001\u0000"+
58302 "\u0000\u0000\u193e\u1939\u0001\u0000\u0000\u0000\u193e\u193b\u0001\u0000"+
58303 "\u0000\u0000\u193f\u0371\u0001\u0000\u0000\u0000\u1940\u1951\u00053\u0000"+
58304 "\u0000\u1941\u1951\u0005\u0148\u0000\u0000\u1942\u1944\u0005\u014b\u0000"+
58305 "\u0000\u1943\u1945\u0005\u0154\u0000\u0000\u1944\u1943\u0001\u0000\u0000"+
58306 "\u0000\u1944\u1945\u0001\u0000\u0000\u0000\u1945\u1951\u0001\u0000\u0000"+
58307 "\u0000\u1946\u1947\u0005\u014d\u0000\u0000\u1947\u1951\u0005\u014e\u0000"+
58308 "\u0000\u1948\u194a\u0005J\u0000\u0000\u1949\u194b\u0005s\u0000\u0000\u194a"+
58309 "\u1949\u0001\u0000\u0000\u0000\u194a\u194b\u0001\u0000\u0000\u0000\u194b"+
58310 "\u194c\u0001\u0000\u0000\u0000\u194c\u1951\u0005\u014f\u0000\u0000\u194d"+
58311 "\u194e\u00053\u0000\u0000\u194e\u194f\u0005s\u0000\u0000\u194f\u1951\u0005"+
58312 "\u015e\u0000\u0000\u1950\u1940\u0001\u0000\u0000\u0000\u1950\u1941\u0001"+
58313 "\u0000\u0000\u0000\u1950\u1942\u0001\u0000\u0000\u0000\u1950\u1946\u0001"+
58314 "\u0000\u0000\u0000\u1950\u1948\u0001\u0000\u0000\u0000\u1950\u194d\u0001"+
58315 "\u0000\u0000\u0000\u1951\u0373\u0001\u0000\u0000\u0000\u1952\u195d\u0005"+
58316 "\u014b\u0000\u0000\u1953\u1954\u0005\u014d\u0000\u0000\u1954\u195d\u0005"+
58317 "\u014e\u0000\u0000\u1955\u195d\u00053\u0000\u0000\u1956\u195d\u0005\u0103"+
58318 "\u0000\u0000\u1957\u1958\u0005J\u0000\u0000\u1958\u195d\u0005\u014f\u0000"+
58319 "\u0000\u1959\u195a\u00053\u0000\u0000\u195a\u195b\u0005s\u0000\u0000\u195b"+
58320 "\u195d\u0005\u0173\u0000\u0000\u195c\u1952\u0001\u0000\u0000\u0000\u195c"+
58321 "\u1953\u0001\u0000\u0000\u0000\u195c\u1955\u0001\u0000\u0000\u0000\u195c"+
58322 "\u1956\u0001\u0000\u0000\u0000\u195c\u1957\u0001\u0000\u0000\u0000\u195c"+
58323 "\u1959\u0001\u0000\u0000\u0000\u195d\u0375\u0001\u0000\u0000\u0000\u195e"+
58324 "\u196a\u00053\u0000\u0000\u195f\u196a\u0005\u014b\u0000\u0000\u1960\u196a"+
58325 "\u0005\u0103\u0000\u0000\u1961\u1962\u0005\u014d\u0000\u0000\u1962\u196a"+
58326 "\u0005\u014e\u0000\u0000\u1963\u1964\u0005J\u0000\u0000\u1964\u196a\u0005"+
58327 "\u014f\u0000\u0000\u1965\u1966\u00053\u0000\u0000\u1966\u1967\u0005s\u0000"+
58328 "\u0000\u1967\u1968\u0005\u0152\u0000\u0000\u1968\u196a\u0005C\u0000\u0000"+
58329 "\u1969\u195e\u0001\u0000\u0000\u0000\u1969\u195f\u0001\u0000\u0000\u0000"+
58330 "\u1969\u1960\u0001\u0000\u0000\u0000\u1969\u1961\u0001\u0000\u0000\u0000"+
58331 "\u1969\u1963\u0001\u0000\u0000\u0000\u1969\u1965\u0001\u0000\u0000\u0000"+
58332 "\u196a\u0377\u0001\u0000\u0000\u0000\u196b\u1977\u0005\u014b\u0000\u0000"+
58333 "\u196c\u196d\u0005\u014d\u0000\u0000\u196d\u1977\u0005\u014e\u0000\u0000"+
58334 "\u196e\u1977\u00053\u0000\u0000\u196f\u1977\u0005\u0103\u0000\u0000\u1970"+
58335 "\u1971\u0005J\u0000\u0000\u1971\u1977\u0005\u014f\u0000\u0000\u1972\u1973"+
58336 "\u00053\u0000\u0000\u1973\u1974\u0005s\u0000\u0000\u1974\u1975\u0005\u0153"+
58337 "\u0000\u0000\u1975\u1977\u0005C\u0000\u0000\u1976\u196b\u0001\u0000\u0000"+
58338 "\u0000\u1976\u196c\u0001\u0000\u0000\u0000\u1976\u196e\u0001\u0000\u0000"+
58339 "\u0000\u1976\u196f\u0001\u0000\u0000\u0000\u1976\u1970\u0001\u0000\u0000"+
58340 "\u0000\u1976\u1972\u0001\u0000\u0000\u0000\u1977\u0379\u0001\u0000\u0000"+
58341 "\u0000\u1978\u1983\u0005\u014b\u0000\u0000\u1979\u197a\u0005\u014d\u0000"+
58342 "\u0000\u197a\u1983\u0005\u014e\u0000\u0000\u197b\u1983\u00053\u0000\u0000"+
58343 "\u197c\u1983\u0005\u0103\u0000\u0000\u197d\u197e\u0005J\u0000\u0000\u197e"+
58344 "\u1983\u0005\u014f\u0000\u0000\u197f\u1980\u00053\u0000\u0000\u1980\u1981"+
58345 "\u0005s\u0000\u0000\u1981\u1983\u0005\u0151\u0000\u0000\u1982\u1978\u0001"+
58346 "\u0000\u0000\u0000\u1982\u1979\u0001\u0000\u0000\u0000\u1982\u197b\u0001"+
58347 "\u0000\u0000\u0000\u1982\u197c\u0001\u0000\u0000\u0000\u1982\u197d\u0001"+
58348 "\u0000\u0000\u0000\u1982\u197f\u0001\u0000\u0000\u0000\u1983\u037b\u0001"+
58349 "\u0000\u0000\u0000\u1984\u1996\u00053\u0000\u0000\u1985\u1996\u0005\u0148"+
58350 "\u0000\u0000\u1986\u1988\u0005\u014b\u0000\u0000\u1987\u1989\u0005\u0154"+
58351 "\u0000\u0000\u1988\u1987\u0001\u0000\u0000\u0000\u1988\u1989\u0001\u0000"+
58352 "\u0000\u0000\u1989\u1996\u0001\u0000\u0000\u0000\u198a\u198b\u0005\u014d"+
58353 "\u0000\u0000\u198b\u1996\u0005\u014e\u0000\u0000\u198c\u198e\u0005J\u0000"+
58354 "\u0000\u198d\u198f\u0005s\u0000\u0000\u198e\u198d\u0001\u0000\u0000\u0000"+
58355 "\u198e\u198f\u0001\u0000\u0000\u0000\u198f\u1990\u0001\u0000\u0000\u0000"+
58356 "\u1990\u1996\u0005\u014f\u0000\u0000\u1991\u1992\u00053\u0000\u0000\u1992"+
58357 "\u1993\u0005s\u0000\u0000\u1993\u1994\u0005\u015c\u0000\u0000\u1994\u1996"+
58358 "\u0005v\u0000\u0000\u1995\u1984\u0001\u0000\u0000\u0000\u1995\u1985\u0001"+
58359 "\u0000\u0000\u0000\u1995\u1986\u0001\u0000\u0000\u0000\u1995\u198a\u0001"+
58360 "\u0000\u0000\u0000\u1995\u198c\u0001\u0000\u0000\u0000\u1995\u1991\u0001"+
58361 "\u0000\u0000\u0000\u1996\u037d\u0001\u0000\u0000\u0000\u1997\u199a\u0003"+
58362 "\u0380\u01c0\u0000\u1998\u199a\u0003\u0382\u01c1\u0000\u1999\u1997\u0001"+
58363 "\u0000\u0000\u0000\u1999\u1998\u0001\u0000\u0000\u0000\u199a\u037f\u0001"+
58364 "\u0000\u0000\u0000\u199b\u19a7\u0005\u014b\u0000\u0000\u199c\u199d\u0005"+
58365 "\u014d\u0000\u0000\u199d\u19a7\u0005\u014e\u0000\u0000\u199e\u19a7\u0005"+
58366 "3\u0000\u0000\u199f\u19a7\u0005\u0103\u0000\u0000\u19a0\u19a1\u0005J\u0000"+
58367 "\u0000\u19a1\u19a7\u0005\u014f\u0000\u0000\u19a2\u19a3\u00053\u0000\u0000"+
58368 "\u19a3\u19a4\u0005s\u0000\u0000\u19a4\u19a5\u0005\u017c\u0000\u0000\u19a5"+
58369 "\u19a7\u0005\u014a\u0000\u0000\u19a6\u199b\u0001\u0000\u0000\u0000\u19a6"+
58370 "\u199c\u0001\u0000\u0000\u0000\u19a6\u199e\u0001\u0000\u0000\u0000\u19a6"+
58371 "\u199f\u0001\u0000\u0000\u0000\u19a6\u19a0\u0001\u0000\u0000\u0000\u19a6"+
58372 "\u19a2\u0001\u0000\u0000\u0000\u19a7\u0381\u0001\u0000\u0000\u0000\u19a8"+
58373 "\u19b4\u00053\u0000\u0000\u19a9\u19b4\u0005\u014b\u0000\u0000\u19aa\u19b4"+
58374 "\u0005\u0103\u0000\u0000\u19ab\u19ac\u0005\u014d\u0000\u0000\u19ac\u19b4"+
58375 "\u0005\u014e\u0000\u0000\u19ad\u19ae\u0005J\u0000\u0000\u19ae\u19b4\u0005"+
58376 "\u014f\u0000\u0000\u19af\u19b0\u00053\u0000\u0000\u19b0\u19b1\u0005s\u0000"+
58377 "\u0000\u19b1\u19b2\u0005\u017c\u0000\u0000\u19b2\u19b4\u0005\u014a\u0000"+
58378 "\u0000\u19b3\u19a8\u0001\u0000\u0000\u0000\u19b3\u19a9\u0001\u0000\u0000"+
58379 "\u0000\u19b3\u19aa\u0001\u0000\u0000\u0000\u19b3\u19ab\u0001\u0000\u0000"+
58380 "\u0000\u19b3\u19ad\u0001\u0000\u0000\u0000\u19b3\u19af\u0001\u0000\u0000"+
58381 "\u0000\u19b4\u0383\u0001\u0000\u0000\u0000\u19b5\u19bd\u0005\u014b\u0000"+
58382 "\u0000\u19b6\u19bd\u0005\u0145\u0000\u0000\u19b7\u19bd\u0005\u0103\u0000"+
58383 "\u0000\u19b8\u19b9\u0005\u014d\u0000\u0000\u19b9\u19bd\u0005\u014e\u0000"+
58384 "\u0000\u19ba\u19bb\u0005J\u0000\u0000\u19bb\u19bd\u0005\u014f\u0000\u0000"+
58385 "\u19bc\u19b5\u0001\u0000\u0000\u0000\u19bc\u19b6\u0001\u0000\u0000\u0000"+
58386 "\u19bc\u19b7\u0001\u0000\u0000\u0000\u19bc\u19b8\u0001\u0000\u0000\u0000"+
58387 "\u19bc\u19ba\u0001\u0000\u0000\u0000\u19bd\u0385\u0001\u0000\u0000\u0000"+
58388 "\u19be\u19c7\u00053\u0000\u0000\u19bf\u19c7\u0005\u014b\u0000\u0000\u19c0"+
58389 "\u19c7\u0005\u0145\u0000\u0000\u19c1\u19c7\u0005\u0103\u0000\u0000\u19c2"+
58390 "\u19c3\u0005\u014d\u0000\u0000\u19c3\u19c7\u0005\u014e\u0000\u0000\u19c4"+
58391 "\u19c5\u0005J\u0000\u0000\u19c5\u19c7\u0005\u014f\u0000\u0000\u19c6\u19be"+
58392 "\u0001\u0000\u0000\u0000\u19c6\u19bf\u0001\u0000\u0000\u0000\u19c6\u19c0"+
58393 "\u0001\u0000\u0000\u0000\u19c6\u19c1\u0001\u0000\u0000\u0000\u19c6\u19c2"+
58394 "\u0001\u0000\u0000\u0000\u19c6\u19c4\u0001\u0000\u0000\u0000\u19c7\u0387"+
58395 "\u0001\u0000\u0000\u0000\u19c8\u19c9\u0007a\u0000\u0000\u19c9\u0389\u0001"+
58396 "\u0000\u0000\u0000\u19ca\u19cb\u0005\u02d1\u0000\u0000\u19cb\u19cc\u0005"+
58397 "\u000e\u0000\u0000\u19cc\u19cd\u0005\u000e\u0000\u0000\u19cd\u038b\u0001"+
58398 "\u0000\u0000\u0000\u19ce\u19f7\u0005\u0151\u0000\u0000\u19cf\u19d0\u0005"+
58399 "\u0153\u0000\u0000\u19d0\u19f7\u0005C\u0000\u0000\u19d1\u19d2\u0005\u015c"+
58400 "\u0000\u0000\u19d2\u19f7\u0005v\u0000\u0000\u19d3\u19f7\u0005\u0173\u0000"+
58401 "\u0000\u19d4\u19f7\u0005\u0104\u0000\u0000\u19d5\u19f7\u0005\u0105\u0000"+
58402 "\u0000\u19d6\u19d7\u0005\u0150\u0000\u0000\u19d7\u19f7\u0005\u0105\u0000"+
58403 "\u0000\u19d8\u19d9\u0005\u00cc\u0000\u0000\u19d9\u19da\u0005\u016f\u0000"+
58404 "\u0000\u19da\u19f7\u0005\u015d\u0000\u0000\u19db\u19f7\u0005\u015e\u0000"+
58405 "\u0000\u19dc\u19dd\u0005\u017c\u0000\u0000\u19dd\u19f7\u0007b\u0000\u0000"+
58406 "\u19de\u19f7\u0005\u012f\u0000\u0000\u19df\u19f7\u00056\u0000\u0000\u19e0"+
58407 "\u19e1\u0005\u02a9\u0000\u0000\u19e1\u19e2\u0005\u02aa\u0000\u0000\u19e2"+
58408 "\u19f7\u0005\u02ab\u0000\u0000\u19e3\u19f7\u0005\u0129\u0000\u0000\u19e4"+
58409 "\u19e5\u0005\u0154\u0000\u0000\u19e5\u19f7\u0005\u0105\u0000\u0000\u19e6"+
58410 "\u19f7\u0005\u0174\u0000\u0000\u19e7\u19e8\u0005\u017f\u0000\u0000\u19e8"+
58411 "\u19f7\u0005\u00b0\u0000\u0000\u19e9\u19ea\u0005\u0180\u0000\u0000\u19ea"+
58412 "\u19eb\u0005\u0172\u0000\u0000\u19eb\u19f7\u0005\u0181\u0000\u0000\u19ec"+
58413 "\u19f7\u0005\u0182\u0000\u0000\u19ed\u19f7\u0005\u0172\u0000\u0000\u19ee"+
58414 "\u19ef\u0005\u0152\u0000\u0000\u19ef\u19f7\u0005C\u0000\u0000\u19f0\u19f7"+
58415 "\u0005.\u0000\u0000\u19f1\u19f7\u0005\u0145\u0000\u0000\u19f2\u19f7\u0005"+
58416 "\u00b0\u0000\u0000\u19f3\u19f4\u0005\u0164\u0000\u0000\u19f4\u19f5\u0005"+
58417 "6\u0000\u0000\u19f5\u19f7\u0005\u0189\u0000\u0000\u19f6\u19ce\u0001\u0000"+
58418 "\u0000\u0000\u19f6\u19cf\u0001\u0000\u0000\u0000\u19f6\u19d1\u0001\u0000"+
58419 "\u0000\u0000\u19f6\u19d3\u0001\u0000\u0000\u0000\u19f6\u19d4\u0001\u0000"+
58420 "\u0000\u0000\u19f6\u19d5\u0001\u0000\u0000\u0000\u19f6\u19d6\u0001\u0000"+
58421 "\u0000\u0000\u19f6\u19d8\u0001\u0000\u0000\u0000\u19f6\u19db\u0001\u0000"+
58422 "\u0000\u0000\u19f6\u19dc\u0001\u0000\u0000\u0000\u19f6\u19de\u0001\u0000"+
58423 "\u0000\u0000\u19f6\u19df\u0001\u0000\u0000\u0000\u19f6\u19e0\u0001\u0000"+
58424 "\u0000\u0000\u19f6\u19e3\u0001\u0000\u0000\u0000\u19f6\u19e4\u0001\u0000"+
58425 "\u0000\u0000\u19f6\u19e6\u0001\u0000\u0000\u0000\u19f6\u19e7\u0001\u0000"+
58426 "\u0000\u0000\u19f6\u19e9\u0001\u0000\u0000\u0000\u19f6\u19ec\u0001\u0000"+
58427 "\u0000\u0000\u19f6\u19ed\u0001\u0000\u0000\u0000\u19f6\u19ee\u0001\u0000"+
58428 "\u0000\u0000\u19f6\u19f0\u0001\u0000\u0000\u0000\u19f6\u19f1\u0001\u0000"+
58429 "\u0000\u0000\u19f6\u19f2\u0001\u0000\u0000\u0000\u19f6\u19f3\u0001\u0000"+
58430 "\u0000\u0000\u19f7\u038d\u0001\u0000\u0000\u0000\u19f8\u19f9\u0007c\u0000"+
58431 "\u0000\u19f9\u038f\u0001\u0000\u0000\u0000\u19fa\u19fb\u0003\u00e6s\u0000"+
58432 "\u19fb\u0391\u0001\u0000\u0000\u0000\u19fc\u1a02\u0005\u029f\u0000\u0000"+
58433 "\u19fd\u1a00\u0003\u001c\u000e\u0000\u19fe\u19ff\u0005M\u0000\u0000\u19ff"+
58434 "\u1a01\u0005\u02a0\u0000\u0000\u1a00\u19fe\u0001\u0000\u0000\u0000\u1a00"+
58435 "\u1a01\u0001\u0000\u0000\u0000\u1a01\u1a03\u0001\u0000\u0000\u0000\u1a02"+
58436 "\u19fd\u0001\u0000\u0000\u0000\u1a02\u1a03\u0001\u0000\u0000\u0000\u1a03"+
58437 "\u0393\u0001\u0000\u0000\u0000\u1a04\u1a05\u00052\u0000\u0000\u1a05\u1a0e"+
58438 "\u0005\u0104\u0000\u0000\u1a06\u1a0f\u0003\u0396\u01cb\u0000\u1a07\u1a0f"+
58439 "\u0003\u0398\u01cc\u0000\u1a08\u1a0f\u0003\u039a\u01cd\u0000\u1a09\u1a0f"+
58440 "\u0003\u039c\u01ce\u0000\u1a0a\u1a0f\u0003\u03a2\u01d1\u0000\u1a0b\u1a0f"+
58441 "\u0003\u03a4\u01d2\u0000\u1a0c\u1a0f\u0003\u03a6\u01d3\u0000\u1a0d\u1a0f"+
58442 "\u0003\u03ac\u01d6\u0000\u1a0e\u1a06\u0001\u0000\u0000\u0000\u1a0e\u1a07"+
58443 "\u0001\u0000\u0000\u0000\u1a0e\u1a08\u0001\u0000\u0000\u0000\u1a0e\u1a09"+
58444 "\u0001\u0000\u0000\u0000\u1a0e\u1a0a\u0001\u0000\u0000\u0000\u1a0e\u1a0b"+
58445 "\u0001\u0000\u0000\u0000\u1a0e\u1a0c\u0001\u0000\u0000\u0000\u1a0e\u1a0d"+
58446 "\u0001\u0000\u0000\u0000\u1a0e\u1a0f\u0001\u0000\u0000\u0000\u1a0f\u0395"+
58447 "\u0001\u0000\u0000\u0000\u1a10\u1a14\u0003\u03ac\u01d6\u0000\u1a11\u1a12"+
58448 "\u0007d\u0000\u0000\u1a12\u1a13\u0005\u0129\u0000\u0000\u1a13\u1a15\u0003"+
58449 "*\u0015\u0000\u1a14\u1a11\u0001\u0000\u0000\u0000\u1a14\u1a15\u0001\u0000"+
58450 "\u0000\u0000\u1a15\u1a1f\u0001\u0000\u0000\u0000\u1a16\u1a17\u0005M\u0000"+
58451 "\u0000\u1a17\u1a1c\u0003\u03a0\u01d0\u0000\u1a18\u1a19\u0005%\u0000\u0000"+
58452 "\u1a19\u1a1b\u0003\u03a0\u01d0\u0000\u1a1a\u1a18\u0001\u0000\u0000\u0000"+
58453 "\u1a1b\u1a1e\u0001\u0000\u0000\u0000\u1a1c\u1a1a\u0001\u0000\u0000\u0000"+
58454 "\u1a1c\u1a1d\u0001\u0000\u0000\u0000\u1a1d\u1a20\u0001\u0000\u0000\u0000"+
58455 "\u1a1e\u1a1c\u0001\u0000\u0000\u0000\u1a1f\u1a16\u0001\u0000\u0000\u0000"+
58456 "\u1a1f\u1a20\u0001\u0000\u0000\u0000\u1a20\u0397\u0001\u0000\u0000\u0000"+
58457 "\u1a21\u1a2b\u0003\u03a8\u01d4\u0000\u1a22\u1a23\u0005M\u0000\u0000\u1a23"+
58458 "\u1a28\u0003\u039e\u01cf\u0000\u1a24\u1a25\u0005%\u0000\u0000\u1a25\u1a27"+
58459 "\u0003\u039e\u01cf\u0000\u1a26\u1a24\u0001\u0000\u0000\u0000\u1a27\u1a2a"+
58460 "\u0001\u0000\u0000\u0000\u1a28\u1a26\u0001\u0000\u0000\u0000\u1a28\u1a29"+
58461 "\u0001\u0000\u0000\u0000\u1a29\u1a2c\u0001\u0000\u0000\u0000\u1a2a\u1a28"+
58462 "\u0001\u0000\u0000\u0000\u1a2b\u1a22\u0001\u0000\u0000\u0000\u1a2b\u1a2c"+
58463 "\u0001\u0000\u0000\u0000\u1a2c\u1a43\u0001\u0000\u0000\u0000\u1a2d\u1a2e"+
58464 "\u0003\u03ac\u01d6\u0000\u1a2e\u1a2f\u0005M\u0000\u0000\u1a2f\u1a30\u0005"+
58465 "\u00d5\u0000\u0000\u1a30\u1a31\u0005\u0018\u0000\u0000\u1a31\u1a3b\u0003"+
58466 "\u001c\u000e\u0000\u1a32\u1a33\u0005%\u0000\u0000\u1a33\u1a38\u0003\u039e"+
58467 "\u01cf\u0000\u1a34\u1a35\u0005%\u0000\u0000\u1a35\u1a37\u0003\u039e\u01cf"+
58468 "\u0000\u1a36\u1a34\u0001\u0000\u0000\u0000\u1a37\u1a3a\u0001\u0000\u0000"+
58469 "\u0000\u1a38\u1a36\u0001\u0000\u0000\u0000\u1a38\u1a39\u0001\u0000\u0000"+
58470 "\u0000\u1a39\u1a3c\u0001\u0000\u0000\u0000\u1a3a\u1a38\u0001\u0000\u0000"+
58471 "\u0000\u1a3b\u1a32\u0001\u0000\u0000\u0000\u1a3b\u1a3c\u0001\u0000\u0000"+
58472 "\u0000\u1a3c\u1a43\u0001\u0000\u0000\u0000\u1a3d\u1a3e\u0003\u03aa\u01d5"+
58473 "\u0000\u1a3e\u1a3f\u0005U\u0000\u0000\u1a3f\u1a40\u0005\u0168\u0000\u0000"+
58474 "\u1a40\u1a41\u0005\u02a4\u0000\u0000\u1a41\u1a43\u0001\u0000\u0000\u0000"+
58475 "\u1a42\u1a21\u0001\u0000\u0000\u0000\u1a42\u1a2d\u0001\u0000\u0000\u0000"+
58476 "\u1a42\u1a3d\u0001\u0000\u0000\u0000\u1a43\u0399\u0001\u0000\u0000\u0000"+
58477 "\u1a44\u1a48\u0003\u03a8\u01d4\u0000\u1a45\u1a46\u0007d\u0000\u0000\u1a46"+
58478 "\u1a47\u0005\u0129\u0000\u0000\u1a47\u1a49\u0003\u03a8\u01d4\u0000\u1a48"+
58479 "\u1a45\u0001\u0000\u0000\u0000\u1a48\u1a49\u0001\u0000\u0000\u0000\u1a49"+
58480 "\u1a50\u0001\u0000\u0000\u0000\u1a4a\u1a4b\u0003\u03ac\u01d6\u0000\u1a4b"+
58481 "\u1a4c\u0007d\u0000\u0000\u1a4c\u1a4d\u0005\u0129\u0000\u0000\u1a4d\u1a4e"+
58482 "\u0003\u03a8\u01d4\u0000\u1a4e\u1a50\u0001\u0000\u0000\u0000\u1a4f\u1a44"+
58483 "\u0001\u0000\u0000\u0000\u1a4f\u1a4a\u0001\u0000\u0000\u0000\u1a50\u1a5a"+
58484 "\u0001\u0000\u0000\u0000\u1a51\u1a52\u0005M\u0000\u0000\u1a52\u1a57\u0003"+
58485 "\u03a0\u01d0\u0000\u1a53\u1a54\u0005%\u0000\u0000\u1a54\u1a56\u0003\u03a0"+
58486 "\u01d0\u0000\u1a55\u1a53\u0001\u0000\u0000\u0000\u1a56\u1a59\u0001\u0000"+
58487 "\u0000\u0000\u1a57\u1a55\u0001\u0000\u0000\u0000\u1a57\u1a58\u0001\u0000"+
58488 "\u0000\u0000\u1a58\u1a5b\u0001\u0000\u0000\u0000\u1a59\u1a57\u0001\u0000"+
58489 "\u0000\u0000\u1a5a\u1a51\u0001\u0000\u0000\u0000\u1a5a\u1a5b\u0001\u0000"+
58490 "\u0000\u0000\u1a5b\u039b\u0001\u0000\u0000\u0000\u1a5c\u1a71\u0003\u03ac"+
58491 "\u01d6\u0000\u1a5d\u1a5e\u0005\u00d6\u0000\u0000\u1a5e\u1a68\u0005\u0129"+
58492 "\u0000\u0000\u1a5f\u1a60\u0005M\u0000\u0000\u1a60\u1a65\u0003\u03a0\u01d0"+
58493 "\u0000\u1a61\u1a62\u0005%\u0000\u0000\u1a62\u1a64\u0003\u03a0\u01d0\u0000"+
58494 "\u1a63\u1a61\u0001\u0000\u0000\u0000\u1a64\u1a67\u0001\u0000\u0000\u0000"+
58495 "\u1a65\u1a63\u0001\u0000\u0000\u0000\u1a65\u1a66\u0001\u0000\u0000\u0000"+
58496 "\u1a66\u1a69\u0001\u0000\u0000\u0000\u1a67\u1a65\u0001\u0000\u0000\u0000"+
58497 "\u1a68\u1a5f\u0001\u0000\u0000\u0000\u1a68\u1a69\u0001\u0000\u0000\u0000"+
58498 "\u1a69\u1a72\u0001\u0000\u0000\u0000\u1a6a\u1a6b\u0007d\u0000\u0000\u1a6b"+
58499 "\u1a6c\u0005\u0173\u0000\u0000\u1a6c\u1a72\u0003*\u0015\u0000\u1a6d\u1a6e"+
58500 "\u0007d\u0000\u0000\u1a6e\u1a6f\u0005\u0153\u0000\u0000\u1a6f\u1a70\u0005"+
58501 "C\u0000\u0000\u1a70\u1a72\u0003*\u0015\u0000\u1a71\u1a5d\u0001\u0000\u0000"+
58502 "\u0000\u1a71\u1a6a\u0001\u0000\u0000\u0000\u1a71\u1a6d\u0001\u0000\u0000"+
58503 "\u0000\u1a72\u039d\u0001\u0000\u0000\u0000\u1a73\u1a74\u0005\u02a1\u0000"+
58504 "\u0000\u1a74\u1a75\u0005\u0018\u0000\u0000\u1a75\u1a85\u00034\u001a\u0000"+
58505 "\u1a76\u1a77\u0005\u0291\u0000\u0000\u1a77\u1a7a\u0005\u0018\u0000\u0000"+
58506 "\u1a78\u1a7b\u0005\u012e\u0000\u0000\u1a79\u1a7b\u0003*\u0015\u0000\u1a7a"+
58507 "\u1a78\u0001\u0000\u0000\u0000\u1a7a\u1a79\u0001\u0000\u0000\u0000\u1a7b"+
58508 "\u1a85\u0001\u0000\u0000\u0000\u1a7c\u1a7d\u0005\u02a5\u0000\u0000\u1a7d"+
58509 "\u1a7e\u0005\u0018\u0000\u0000\u1a7e\u1a85\u0003\u03c6\u01e3\u0000\u1a7f"+
58510 "\u1a80\u0005\u02a2\u0000\u0000\u1a80\u1a82\u0005\u0018\u0000\u0000\u1a81"+
58511 "\u1a83\u0007\u0000\u0000\u0000\u1a82\u1a81\u0001\u0000\u0000\u0000\u1a82"+
58512 "\u1a83\u0001\u0000\u0000\u0000\u1a83\u1a85\u0001\u0000\u0000\u0000\u1a84"+
58513 "\u1a73\u0001\u0000\u0000\u0000\u1a84\u1a76\u0001\u0000\u0000\u0000\u1a84"+
58514 "\u1a7c\u0001\u0000\u0000\u0000\u1a84\u1a7f\u0001\u0000\u0000\u0000\u1a85"+
58515 "\u039f\u0001\u0000\u0000\u0000\u1a86\u1a87\u0005\u02a1\u0000\u0000\u1a87"+
58516 "\u1a88\u0005\u0018\u0000\u0000\u1a88\u1a95\u00034\u001a\u0000\u1a89\u1a8a"+
58517 "\u0005\u0291\u0000\u0000\u1a8a\u1a8d\u0005\u0018\u0000\u0000\u1a8b\u1a8e"+
58518 "\u0005\u012e\u0000\u0000\u1a8c\u1a8e\u0003*\u0015\u0000\u1a8d\u1a8b\u0001"+
58519 "\u0000\u0000\u0000\u1a8d\u1a8c\u0001\u0000\u0000\u0000\u1a8e\u1a95\u0001"+
58520 "\u0000\u0000\u0000\u1a8f\u1a90\u0005\u02a2\u0000\u0000\u1a90\u1a92\u0005"+
58521 "\u0018\u0000\u0000\u1a91\u1a93\u0007\u0000\u0000\u0000\u1a92\u1a91\u0001"+
58522 "\u0000\u0000\u0000\u1a92\u1a93\u0001\u0000\u0000\u0000\u1a93\u1a95\u0001"+
58523 "\u0000\u0000\u0000\u1a94\u1a86\u0001\u0000\u0000\u0000\u1a94\u1a89\u0001"+
58524 "\u0000\u0000\u0000\u1a94\u1a8f\u0001\u0000\u0000\u0000\u1a95\u03a1\u0001"+
58525 "\u0000\u0000\u0000\u1a96\u1a9a\u0003\u03ac\u01d6\u0000\u1a97\u1a98\u0007"+
58526 "d\u0000\u0000\u1a98\u1a99\u0005\u0129\u0000\u0000\u1a99\u1a9b\u0003*\u0015"+
58527 "\u0000\u1a9a\u1a97\u0001\u0000\u0000\u0000\u1a9a\u1a9b\u0001\u0000\u0000"+
58528 "\u0000\u1a9b\u1aab\u0001\u0000\u0000\u0000\u1a9c\u1a9d\u0005U\u0000\u0000"+
58529 "\u1a9d\u1a9e\u0005\u0168\u0000\u0000\u1a9e\u1aa8\u0005\u02a4\u0000\u0000"+
58530 "\u1a9f\u1aa0\u0005M\u0000\u0000\u1aa0\u1aa5\u0003\u03a0\u01d0\u0000\u1aa1"+
58531 "\u1aa2\u0005%\u0000\u0000\u1aa2\u1aa4\u0003\u03a0\u01d0\u0000\u1aa3\u1aa1"+
58532 "\u0001\u0000\u0000\u0000\u1aa4\u1aa7\u0001\u0000\u0000\u0000\u1aa5\u1aa3"+
58533 "\u0001\u0000\u0000\u0000\u1aa5\u1aa6\u0001\u0000\u0000\u0000\u1aa6\u1aa9"+
58534 "\u0001\u0000\u0000\u0000\u1aa7\u1aa5\u0001\u0000\u0000\u0000\u1aa8\u1a9f"+
58535 "\u0001\u0000\u0000\u0000\u1aa8\u1aa9\u0001\u0000\u0000\u0000\u1aa9\u1aab"+
58536 "\u0001\u0000\u0000\u0000\u1aaa\u1a96\u0001\u0000\u0000\u0000\u1aaa\u1a9c"+
58537 "\u0001\u0000\u0000\u0000\u1aab\u03a3\u0001\u0000\u0000\u0000\u1aac\u1ab2"+
58538 "\u0003\u03ac\u01d6\u0000\u1aad\u1aae\u0007d\u0000\u0000\u1aae\u1aaf\u0005"+
58539 "\u0129\u0000\u0000\u1aaf\u1ab3\u0003*\u0015\u0000\u1ab0\u1ab1\u0005\u00d6"+
58540 "\u0000\u0000\u1ab1\u1ab3\u0005\u0129\u0000\u0000\u1ab2\u1aad\u0001\u0000"+
58541 "\u0000\u0000\u1ab2\u1ab0\u0001\u0000\u0000\u0000\u1ab2\u1ab3\u0001\u0000"+
58542 "\u0000\u0000\u1ab3\u1ab8\u0001\u0000\u0000\u0000\u1ab4\u1ab5\u0005M\u0000"+
58543 "\u0000\u1ab5\u1ab6\u0005\u02a1\u0000\u0000\u1ab6\u1ab7\u0005\u0018\u0000"+
58544 "\u0000\u1ab7\u1ab9\u00034\u001a\u0000\u1ab8\u1ab4\u0001\u0000\u0000\u0000"+
58545 "\u1ab8\u1ab9\u0001\u0000\u0000\u0000\u1ab9\u03a5\u0001\u0000\u0000\u0000"+
58546 "\u1aba\u1abb\u0003\u03aa\u01d5\u0000\u1abb\u1abc\u0005U\u0000\u0000\u1abc"+
58547 "\u1abd\u0005\u0168\u0000\u0000\u1abd\u1ac2\u0005\u02a4\u0000\u0000\u1abe"+
58548 "\u1abf\u0005M\u0000\u0000\u1abf\u1ac0\u0005\u02a1\u0000\u0000\u1ac0\u1ac1"+
58549 "\u0005\u0018\u0000\u0000\u1ac1\u1ac3\u00034\u001a\u0000\u1ac2\u1abe\u0001"+
58550 "\u0000\u0000\u0000\u1ac2\u1ac3\u0001\u0000\u0000\u0000\u1ac3\u03a7\u0001"+
58551 "\u0000\u0000\u0000\u1ac4\u1ac5\u0003\u03ac\u01d6\u0000\u1ac5\u03a9\u0001"+
58552 "\u0000\u0000\u0000\u1ac6\u1ac7\u0003\u03ac\u01d6\u0000\u1ac7\u03ab\u0001"+
58553 "\u0000\u0000\u0000\u1ac8\u1ac9\u0003\u03ae\u01d7\u0000\u1ac9\u03ad\u0001"+
58554 "\u0000\u0000\u0000\u1aca\u1acd\u0003*\u0015\u0000\u1acb\u1acc\u0005\u0014"+
58555 "\u0000\u0000\u1acc\u1ace\u0003*\u0015\u0000\u1acd\u1acb\u0001\u0000\u0000"+
58556 "\u0000\u1acd\u1ace\u0001\u0000\u0000\u0000\u1ace\u03af\u0001\u0000\u0000"+
58557 "\u0000\u1acf\u1ad0\u00054\u0000\u0000\u1ad0\u1ad2\u0005\u0104\u0000\u0000"+
58558 "\u1ad1\u1ad3\u0003\u00f8|\u0000\u1ad2\u1ad1\u0001\u0000\u0000\u0000\u1ad2"+
58559 "\u1ad3\u0001\u0000\u0000\u0000\u1ad3\u1ad4\u0001\u0000\u0000\u0000\u1ad4"+
58560 "\u1ad5\u0003\u03ac\u01d6\u0000\u1ad5\u03b1\u0001\u0000\u0000\u0000\u1ad6"+
58561 "\u1ad7\u00053\u0000\u0000\u1ad7\u1ad8\u0005\u0104\u0000\u0000\u1ad8\u1ae5"+
58562 "\u0003\u03ac\u01d6\u0000\u1ad9\u1ada\u0005M\u0000\u0000\u1ada\u1adf\u0003"+
58563 "\u03b4\u01da\u0000\u1adb\u1adc\u0005%\u0000\u0000\u1adc\u1ade\u0003\u03b4"+
58564 "\u01da\u0000\u1add\u1adb\u0001\u0000\u0000\u0000\u1ade\u1ae1\u0001\u0000"+
58565 "\u0000\u0000\u1adf\u1add\u0001\u0000\u0000\u0000\u1adf\u1ae0\u0001\u0000"+
58566 "\u0000\u0000\u1ae0\u1ae6\u0001\u0000\u0000\u0000\u1ae1\u1adf\u0001\u0000"+
58567 "\u0000\u0000\u1ae2\u1ae3\u0005U\u0000\u0000\u1ae3\u1ae4\u0005\u0168\u0000"+
58568 "\u0000\u1ae4\u1ae6\u0005\u02a4\u0000\u0000\u1ae5\u1ad9\u0001\u0000\u0000"+
58569 "\u0000\u1ae5\u1ae2\u0001\u0000\u0000\u0000\u1ae6\u03b3\u0001\u0000\u0000"+
58570 "\u0000\u1ae7\u1ae8\u0005\u00aa\u0000\u0000\u1ae8\u1ae9\u0005\u0018\u0000"+
58571 "\u0000\u1ae9\u1b07\u0003\u03ac\u01d6\u0000\u1aea\u1aeb\u0005\u02a1\u0000"+
58572 "\u0000\u1aeb\u1aee\u0005\u0018\u0000\u0000\u1aec\u1aef\u00034\u001a\u0000"+
58573 "\u1aed\u1aef\u0005l\u0000\u0000\u1aee\u1aec\u0001\u0000\u0000\u0000\u1aee"+
58574 "\u1aed\u0001\u0000\u0000\u0000\u1aef\u1b07\u0001\u0000\u0000\u0000\u1af0"+
58575 "\u1af1\u0005\u0129\u0000\u0000\u1af1\u1af2\u0005\u0018\u0000\u0000\u1af2"+
58576 "\u1b07\u0003*\u0015\u0000\u1af3\u1af4\u0005\u00d5\u0000\u0000\u1af4\u1af5"+
58577 "\u0005\u0018\u0000\u0000\u1af5\u1af9\u0003\u001c\u000e\u0000\u1af6\u1af7"+
58578 "\u0005\u02a3\u0000\u0000\u1af7\u1af8\u0005\u0018\u0000\u0000\u1af8\u1afa"+
58579 "\u0003\u001c\u000e\u0000\u1af9\u1af6\u0001\u0000\u0000\u0000\u1af9\u1afa"+
58580 "\u0001\u0000\u0000\u0000\u1afa\u1b07\u0001\u0000\u0000\u0000\u1afb\u1afc"+
58581 "\u0005\u0291\u0000\u0000\u1afc\u1aff\u0005\u0018\u0000\u0000\u1afd\u1b00"+
58582 "\u0005\u012e\u0000\u0000\u1afe\u1b00\u0003*\u0015\u0000\u1aff\u1afd\u0001"+
58583 "\u0000\u0000\u0000\u1aff\u1afe\u0001\u0000\u0000\u0000\u1b00\u1b07\u0001"+
58584 "\u0000\u0000\u0000\u1b01\u1b02\u0005\u02a2\u0000\u0000\u1b02\u1b04\u0005"+
58585 "\u0018\u0000\u0000\u1b03\u1b05\u0007\u0000\u0000\u0000\u1b04\u1b03\u0001"+
58586 "\u0000\u0000\u0000\u1b04\u1b05\u0001\u0000\u0000\u0000\u1b05\u1b07\u0001"+
58587 "\u0000\u0000\u0000\u1b06\u1ae7\u0001\u0000\u0000\u0000\u1b06\u1aea\u0001"+
58588 "\u0000\u0000\u0000\u1b06\u1af0\u0001\u0000\u0000\u0000\u1b06\u1af3\u0001"+
58589 "\u0000\u0000\u0000\u1b06\u1afb\u0001\u0000\u0000\u0000\u1b06\u1b01\u0001"+
58590 "\u0000\u0000\u0000\u1b07\u03b5\u0001\u0000\u0000\u0000\u1b08\u1b09\u0005"+
58591 "2\u0000\u0000\u1b09\u1b0a\u0005\u0105\u0000\u0000\u1b0a\u1b0d\u0003N\'"+
58592 "\u0000\u1b0b\u1b0c\u0005\u029a\u0000\u0000\u1b0c\u1b0e\u0003N\'\u0000"+
58593 "\u1b0d\u1b0b\u0001\u0000\u0000\u0000\u1b0d\u1b0e\u0001\u0000\u0000\u0000"+
58594 "\u1b0e\u03b7\u0001\u0000\u0000\u0000\u1b0f\u1b10\u00054\u0000\u0000\u1b10"+
58595 "\u1b12\u0005\u0105\u0000\u0000\u1b11\u1b13\u0003\u00f8|\u0000\u1b12\u1b11"+
58596 "\u0001\u0000\u0000\u0000\u1b12\u1b13\u0001\u0000\u0000\u0000\u1b13\u1b14"+
58597 "\u0001\u0000\u0000\u0000\u1b14\u1b15\u0003N\'\u0000\u1b15\u03b9\u0001"+
58598 "\u0000\u0000\u0000\u1b16\u1b17\u00053\u0000\u0000\u1b17\u1b18\u0005\u0105"+
58599 "\u0000\u0000\u1b18\u1b23\u0003N\'\u0000\u1b19\u1b1a\u00059\u0000\u0000"+
58600 "\u1b1a\u1b1b\u0005\u02ad\u0000\u0000\u1b1b\u1b24\u0003\u033e\u019f\u0000"+
58601 "\u1b1c\u1b1d\u00054\u0000\u0000\u1b1d\u1b1e\u0005\u02ad\u0000\u0000\u1b1e"+
58602 "\u1b24\u0003\u033e\u019f\u0000\u1b1f\u1b20\u0005M\u0000\u0000\u1b20\u1b21"+
58603 "\u0005\u00aa\u0000\u0000\u1b21\u1b22\u0005\u0018\u0000\u0000\u1b22\u1b24"+
58604 "\u0003N\'\u0000\u1b23\u1b19\u0001\u0000\u0000\u0000\u1b23\u1b1c\u0001"+
58605 "\u0000\u0000\u0000\u1b23\u1b1f\u0001\u0000\u0000\u0000\u1b24\u03bb\u0001"+
58606 "\u0000\u0000\u0000\u1b25\u1b26\u00052\u0000\u0000\u1b26\u1b27\u0005\u0129"+
58607 "\u0000\u0000\u1b27\u1b2d\u0003\u03ae\u01d7\u0000\u1b28\u1b2e\u0003\u03be"+
58608 "\u01df\u0000\u1b29\u1b2e\u0003\u03cc\u01e6\u0000\u1b2a\u1b2e\u0003\u03d0"+
58609 "\u01e8\u0000\u1b2b\u1b2e\u0003\u03d4\u01ea\u0000\u1b2c\u1b2e\u0003\u03d8"+
58610 "\u01ec\u0000\u1b2d\u1b28\u0001\u0000\u0000\u0000\u1b2d\u1b29\u0001\u0000"+
58611 "\u0000\u0000\u1b2d\u1b2a\u0001\u0000\u0000\u0000\u1b2d\u1b2b\u0001\u0000"+
58612 "\u0000\u0000\u1b2d\u1b2c\u0001\u0000\u0000\u0000\u1b2e\u03bd\u0001\u0000"+
58613 "\u0000\u0000\u1b2f\u1b30\u0005M\u0000\u0000\u1b30\u1b34\u0003\u03c0\u01e0"+
58614 "\u0000\u1b31\u1b32\u0005U\u0000\u0000\u1b32\u1b34\u0003\u03c8\u01e4\u0000"+
58615 "\u1b33\u1b2f\u0001\u0000\u0000\u0000\u1b33\u1b31\u0001\u0000\u0000\u0000"+
58616 "\u1b34\u03bf\u0001\u0000\u0000\u0000\u1b35\u1b36\u0005\u00d5\u0000\u0000"+
58617 "\u1b36\u1b3b\u0005\u0018\u0000\u0000\u1b37\u1b3c\u0003\u001c\u000e\u0000"+
58618 "\u1b38\u1b39\u0003\u03c4\u01e2\u0000\u1b39\u1b3a\u0005\u02ae\u0000\u0000"+
58619 "\u1b3a\u1b3c\u0001\u0000\u0000\u0000\u1b3b\u1b37\u0001\u0000\u0000\u0000"+
58620 "\u1b3b\u1b38\u0001\u0000\u0000\u0000\u1b3c\u1b3e\u0001\u0000\u0000\u0000"+
58621 "\u1b3d\u1b3f\u0005\u02af\u0000\u0000\u1b3e\u1b3d\u0001\u0000\u0000\u0000"+
58622 "\u1b3e\u1b3f\u0001\u0000\u0000\u0000\u1b3f\u1b49\u0001\u0000\u0000\u0000"+
58623 "\u1b40\u1b41\u0005%\u0000\u0000\u1b41\u1b46\u0003\u03c2\u01e1\u0000\u1b42"+
58624 "\u1b43\u0005%\u0000\u0000\u1b43\u1b45\u0003\u03c2\u01e1\u0000\u1b44\u1b42"+
58625 "\u0001\u0000\u0000\u0000\u1b45\u1b48\u0001\u0000\u0000\u0000\u1b46\u1b44"+
58626 "\u0001\u0000\u0000\u0000\u1b46\u1b47\u0001\u0000\u0000\u0000\u1b47\u1b4a"+
58627 "\u0001\u0000\u0000\u0000\u1b48\u1b46\u0001\u0000\u0000\u0000\u1b49\u1b40"+
58628 "\u0001\u0000\u0000\u0000\u1b49\u1b4a\u0001\u0000\u0000\u0000\u1b4a\u03c1"+
58629 "\u0001\u0000\u0000\u0000\u1b4b\u1b4c\u0005\u02a5\u0000\u0000\u1b4c\u1b4d"+
58630 "\u0005\u0018\u0000\u0000\u1b4d\u1b5e\u0003\u03c6\u01e3\u0000\u1b4e\u1b4f"+
58631 "\u0005\u02b0\u0000\u0000\u1b4f\u1b50\u0005\u0018\u0000\u0000\u1b50\u1b5e"+
58632 "\u00032\u0019\u0000\u1b51\u1b52\u0005\u0291\u0000\u0000\u1b52\u1b53\u0005"+
58633 "\u0018\u0000\u0000\u1b53\u1b5e\u0003*\u0015\u0000\u1b54\u1b55\u0005\u02b1"+
58634 "\u0000\u0000\u1b55\u1b56\u0005\u0018\u0000\u0000\u1b56\u1b5e\u0007\u0000"+
58635 "\u0000\u0000\u1b57\u1b58\u0005\u02b2\u0000\u0000\u1b58\u1b59\u0005\u0018"+
58636 "\u0000\u0000\u1b59\u1b5e\u0007\u0000\u0000\u0000\u1b5a\u1b5b\u0005\u015d"+
58637 "\u0000\u0000\u1b5b\u1b5c\u0005\u0018\u0000\u0000\u1b5c\u1b5e\u0003*\u0015"+
58638 "\u0000\u1b5d\u1b4b\u0001\u0000\u0000\u0000\u1b5d\u1b4e\u0001\u0000\u0000"+
58639 "\u0000\u1b5d\u1b51\u0001\u0000\u0000\u0000\u1b5d\u1b54\u0001\u0000\u0000"+
58640 "\u0000\u1b5d\u1b57\u0001\u0000\u0000\u0000\u1b5d\u1b5a\u0001\u0000\u0000"+
58641 "\u0000\u1b5e\u03c3\u0001\u0000\u0000\u0000\u1b5f\u1b60\u0005\u02d8\u0000"+
58642 "\u0000\u1b60\u03c5\u0001\u0000\u0000\u0000\u1b61\u1b62\u0007e\u0000\u0000"+
58643 "\u1b62\u03c7\u0001\u0000\u0000\u0000\u1b63\u1b6d\u0005\u02b3\u0000\u0000"+
58644 "\u1b64\u1b65\u0005M\u0000\u0000\u1b65\u1b6a\u0003\u03ca\u01e5\u0000\u1b66"+
58645 "\u1b67\u0005%\u0000\u0000\u1b67\u1b69\u0003\u03ca\u01e5\u0000\u1b68\u1b66"+
58646 "\u0001\u0000\u0000\u0000\u1b69\u1b6c\u0001\u0000\u0000\u0000\u1b6a\u1b68"+
58647 "\u0001\u0000\u0000\u0000\u1b6a\u1b6b\u0001\u0000\u0000\u0000\u1b6b\u1b6e"+
58648 "\u0001\u0000\u0000\u0000\u1b6c\u1b6a\u0001\u0000\u0000\u0000\u1b6d\u1b64"+
58649 "\u0001\u0000\u0000\u0000\u1b6d\u1b6e\u0001\u0000\u0000\u0000\u1b6e\u1b75"+
58650 "\u0001\u0000\u0000\u0000\u1b6f\u1b70\u0005\u0173\u0000\u0000\u1b70\u1b75"+
58651 "\u0003*\u0015\u0000\u1b71\u1b72\u0005\u0153\u0000\u0000\u1b72\u1b73\u0005"+
58652 "C\u0000\u0000\u1b73\u1b75\u0003*\u0015\u0000\u1b74\u1b63\u0001\u0000\u0000"+
58653 "\u0000\u1b74\u1b6f\u0001\u0000\u0000\u0000\u1b74\u1b71\u0001\u0000\u0000"+
58654 "\u0000\u1b75\u03c9\u0001\u0000\u0000\u0000\u1b76\u1b77\u0005\u02b0\u0000"+
58655 "\u0000\u1b77\u1b78\u0005\u0018\u0000\u0000\u1b78\u1b7d\u00032\u0019\u0000"+
58656 "\u1b79\u1b7a\u0005\u0291\u0000\u0000\u1b7a\u1b7b\u0005\u0018\u0000\u0000"+
58657 "\u1b7b\u1b7d\u0003*\u0015\u0000\u1b7c\u1b76\u0001\u0000\u0000\u0000\u1b7c"+
58658 "\u1b79\u0001\u0000\u0000\u0000\u1b7d\u03cb\u0001\u0000\u0000\u0000\u1b7e"+
58659 "\u1b7f\u0005U\u0000\u0000\u1b7f\u1b80\u0005\u0168\u0000\u0000\u1b80\u1b8b"+
58660 "\u0005\u02a4\u0000\u0000\u1b81\u1b82\u0005M\u0000\u0000\u1b82\u1b87\u0003"+
58661 "\u03ce\u01e7\u0000\u1b83\u1b84\u0005%\u0000\u0000\u1b84\u1b86\u0003\u03ce"+
58662 "\u01e7\u0000\u1b85\u1b83\u0001\u0000\u0000\u0000\u1b86\u1b89\u0001\u0000"+
58663 "\u0000\u0000\u1b87\u1b85\u0001\u0000\u0000\u0000\u1b87\u1b88\u0001\u0000"+
58664 "\u0000\u0000\u1b88\u1b8b\u0001\u0000\u0000\u0000\u1b89\u1b87\u0001\u0000"+
58665 "\u0000\u0000\u1b8a\u1b7e\u0001\u0000\u0000\u0000\u1b8a\u1b81\u0001\u0000"+
58666 "\u0000\u0000\u1b8b\u03cd\u0001\u0000\u0000\u0000\u1b8c\u1b8d\u0005\u00d5"+
58667 "\u0000\u0000\u1b8d\u1b8e\u0005\u0018\u0000\u0000\u1b8e\u1b93\u0003\u001c"+
58668 "\u000e\u0000\u1b8f\u1b90\u0005%\u0000\u0000\u1b90\u1b91\u0005\u02a5\u0000"+
58669 "\u0000\u1b91\u1b92\u0005\u0018\u0000\u0000\u1b92\u1b94\u0003\u03c6\u01e3"+
58670 "\u0000\u1b93\u1b8f\u0001\u0000\u0000\u0000\u1b93\u1b94\u0001\u0000\u0000"+
58671 "\u0000\u1b94\u03cf\u0001\u0000\u0000\u0000\u1b95\u1b96\u0005U\u0000\u0000"+
58672 "\u1b96\u1b97\u0005\u0168\u0000\u0000\u1b97\u1b99\u0005\u02a4\u0000\u0000"+
58673 "\u1b98\u1b95\u0001\u0000\u0000\u0000\u1b98\u1b99\u0001\u0000\u0000\u0000"+
58674 "\u1b99\u1b9a\u0001\u0000\u0000\u0000\u1b9a\u1b9b\u0005M\u0000\u0000\u1b9b"+
58675 "\u1ba0\u0003\u03d2\u01e9\u0000\u1b9c\u1b9d\u0005%\u0000\u0000\u1b9d\u1b9f"+
58676 "\u0003\u03d2\u01e9\u0000\u1b9e\u1b9c\u0001\u0000\u0000\u0000\u1b9f\u1ba2"+
58677 "\u0001\u0000\u0000\u0000\u1ba0\u1b9e\u0001\u0000\u0000\u0000\u1ba0\u1ba1"+
58678 "\u0001\u0000\u0000\u0000\u1ba1\u03d1\u0001\u0000\u0000\u0000\u1ba2\u1ba0"+
58679 "\u0001\u0000\u0000\u0000\u1ba3\u1ba4\u0005\u00d5\u0000\u0000\u1ba4\u1ba5"+
58680 "\u0005\u0018\u0000\u0000\u1ba5\u1bb0\u0003\u001c\u000e\u0000\u1ba6\u1ba7"+
58681 "\u0005\u02a5\u0000\u0000\u1ba7\u1ba8\u0005\u0018\u0000\u0000\u1ba8\u1bb0"+
58682 "\u0003\u03c6\u01e3\u0000\u1ba9\u1baa\u0005\u02b0\u0000\u0000\u1baa\u1bab"+
58683 "\u0005\u0018\u0000\u0000\u1bab\u1bb0\u00032\u0019\u0000\u1bac\u1bad\u0005"+
58684 "\u0291\u0000\u0000\u1bad\u1bae\u0005\u0018\u0000\u0000\u1bae\u1bb0\u0003"+
58685 "*\u0015\u0000\u1baf\u1ba3\u0001\u0000\u0000\u0000\u1baf\u1ba6\u0001\u0000"+
58686 "\u0000\u0000\u1baf\u1ba9\u0001\u0000\u0000\u0000\u1baf\u1bac\u0001\u0000"+
58687 "\u0000\u0000\u1bb0\u03d3\u0001\u0000\u0000\u0000\u1bb1\u1bb2\u0005M\u0000"+
58688 "\u0000\u1bb2\u1bb3\u0003\u03d6\u01eb\u0000\u1bb3\u03d5\u0001\u0000\u0000"+
58689 "\u0000\u1bb4\u1bb5\u0005\u00d5\u0000\u0000\u1bb5\u1bb6\u0005\u0018\u0000"+
58690 "\u0000\u1bb6\u1bbb\u0003\u001c\u000e\u0000\u1bb7\u1bb8\u0005%\u0000\u0000"+
58691 "\u1bb8\u1bb9\u0005\u02a5\u0000\u0000\u1bb9\u1bba\u0005\u0018\u0000\u0000"+
58692 "\u1bba\u1bbc\u0003\u03c6\u01e3\u0000\u1bbb\u1bb7\u0001\u0000\u0000\u0000"+
58693 "\u1bbb\u1bbc\u0001\u0000\u0000\u0000\u1bbc\u03d7\u0001\u0000\u0000\u0000"+
58694 "\u1bbd\u1bbe\u0005M\u0000\u0000\u1bbe\u1bc2\u0003\u03da\u01ed\u0000\u1bbf"+
58695 "\u1bc0\u0005U\u0000\u0000\u1bc0\u1bc2\u0005\u02b3\u0000\u0000\u1bc1\u1bbd"+
58696 "\u0001\u0000\u0000\u0000\u1bc1\u1bbf\u0001\u0000\u0000\u0000\u1bc2\u03d9"+
58697 "\u0001\u0000\u0000\u0000\u1bc3\u1bc4\u0005\u00d5\u0000\u0000\u1bc4\u1bc5"+
58698 "\u0005\u0018\u0000\u0000\u1bc5\u1bc7\u0003\u001c\u000e\u0000\u1bc6\u1bc8"+
58699 "\u0005\u02af\u0000\u0000\u1bc7\u1bc6\u0001\u0000\u0000\u0000\u1bc7\u1bc8"+
58700 "\u0001\u0000\u0000\u0000\u1bc8\u1bd2\u0001\u0000\u0000\u0000\u1bc9\u1bca"+
58701 "\u0005%\u0000\u0000\u1bca\u1bcf\u0003\u03dc\u01ee\u0000\u1bcb\u1bcc\u0005"+
58702 "%\u0000\u0000\u1bcc\u1bce\u0003\u03dc\u01ee\u0000\u1bcd\u1bcb\u0001\u0000"+
58703 "\u0000\u0000\u1bce\u1bd1\u0001\u0000\u0000\u0000\u1bcf\u1bcd\u0001\u0000"+
58704 "\u0000\u0000\u1bcf\u1bd0\u0001\u0000\u0000\u0000\u1bd0\u1bd3\u0001\u0000"+
58705 "\u0000\u0000\u1bd1\u1bcf\u0001\u0000\u0000\u0000\u1bd2\u1bc9\u0001\u0000"+
58706 "\u0000\u0000\u1bd2\u1bd3\u0001\u0000\u0000\u0000\u1bd3\u03db\u0001\u0000"+
58707 "\u0000\u0000\u1bd4\u1bd5\u0005\u02b1\u0000\u0000\u1bd5\u1bd6\u0005\u0018"+
58708 "\u0000\u0000\u1bd6\u1bdb\u0007\u0000\u0000\u0000\u1bd7\u1bd8\u0005\u02b2"+
58709 "\u0000\u0000\u1bd8\u1bd9\u0005\u0018\u0000\u0000\u1bd9\u1bdb\u0007\u0000"+
58710 "\u0000\u0000\u1bda\u1bd4\u0001\u0000\u0000\u0000\u1bda\u1bd7\u0001\u0000"+
58711 "\u0000\u0000\u1bdb\u03dd\u0001\u0000\u0000\u0000\u1bdc\u1bdd\u00054\u0000"+
58712 "\u0000\u1bdd\u1bde\u0005\u0129\u0000\u0000\u1bde\u1bdf\u0003\u03ae\u01d7"+
58713 "\u0000\u1bdf\u03df\u0001\u0000\u0000\u0000\u1be0\u1be1\u00053\u0000\u0000"+
58714 "\u1be1\u1be2\u0005\u0129\u0000\u0000\u1be2\u1bee\u0003\u03ae\u01d7\u0000"+
58715 "\u1be3\u1bef\u0003\u03e2\u01f1\u0000\u1be4\u1be5\u0005M\u0000\u0000\u1be5"+
58716 "\u1bea\u0003\u03e4\u01f2\u0000\u1be6\u1be7\u0005%\u0000\u0000\u1be7\u1be9"+
58717 "\u0003\u03e4\u01f2\u0000\u1be8\u1be6\u0001\u0000\u0000\u0000\u1be9\u1bec"+
58718 "\u0001\u0000\u0000\u0000\u1bea\u1be8\u0001\u0000\u0000\u0000\u1bea\u1beb"+
58719 "\u0001\u0000\u0000\u0000\u1beb\u1bef\u0001\u0000\u0000\u0000\u1bec\u1bea"+
58720 "\u0001\u0000\u0000\u0000\u1bed\u1bef\u0003\u03e8\u01f4\u0000\u1bee\u1be3"+
58721 "\u0001\u0000\u0000\u0000\u1bee\u1be4\u0001\u0000\u0000\u0000\u1bee\u1bed"+
58722 "\u0001\u0000\u0000\u0000\u1bef\u03e1\u0001\u0000\u0000\u0000\u1bf0\u1bf1"+
58723 "\u0007.\u0000\u0000\u1bf1\u03e3\u0001\u0000\u0000\u0000\u1bf2\u1bf3\u0005"+
58724 "\u00d5\u0000\u0000\u1bf3\u1bf8\u0005\u0018\u0000\u0000\u1bf4\u1bf9\u0003"+
58725 "\u001c\u000e\u0000\u1bf5\u1bf6\u0003\u03c4\u01e2\u0000\u1bf6\u1bf7\u0005"+
58726 "\u02ae\u0000\u0000\u1bf7\u1bf9\u0001\u0000\u0000\u0000\u1bf8\u1bf4\u0001"+
58727 "\u0000\u0000\u0000\u1bf8\u1bf5\u0001\u0000\u0000\u0000\u1bf9\u1c01\u0001"+
58728 "\u0000";
58729 private static final String _serializedATNSegment3 =
58730 "\u0000\u0000\u1bfa\u1bfb\u0005\u02a3\u0000\u0000\u1bfb\u1bfc\u0005\u0018"+
58731 "\u0000\u0000\u1bfc\u1c02\u0003\u001c\u000e\u0000\u1bfd\u1bff\u0003\u03e6"+
58732 "\u01f3\u0000\u1bfe\u1c00\u0003\u03e6\u01f3\u0000\u1bff\u1bfe\u0001\u0000"+
58733 "\u0000\u0000\u1bff\u1c00\u0001\u0000\u0000\u0000\u1c00\u1c02\u0001\u0000"+
58734 "\u0000\u0000\u1c01\u1bfa\u0001\u0000\u0000\u0000\u1c01\u1bfd\u0001\u0000"+
58735 "\u0000\u0000\u1c01\u1c02\u0001\u0000\u0000\u0000\u1c02\u1c18\u0001\u0000"+
58736 "\u0000\u0000\u1c03\u1c04\u0005\u02b0\u0000\u0000\u1c04\u1c05\u0005\u0018"+
58737 "\u0000\u0000\u1c05\u1c18\u00032\u0019\u0000\u1c06\u1c07\u0005\u0291\u0000"+
58738 "\u0000\u1c07\u1c08\u0005\u0018\u0000\u0000\u1c08\u1c18\u0003*\u0015\u0000"+
58739 "\u1c09\u1c0a\u0005\u00aa\u0000\u0000\u1c0a\u1c0b\u0005\u0018\u0000\u0000"+
58740 "\u1c0b\u1c18\u0003\u03ae\u01d7\u0000\u1c0c\u1c0d\u0005\u02b2\u0000\u0000"+
58741 "\u1c0d\u1c0e\u0005\u0018\u0000\u0000\u1c0e\u1c18\u0007\u0000\u0000\u0000"+
58742 "\u1c0f\u1c10\u0005\u02b1\u0000\u0000\u1c10\u1c11\u0005\u0018\u0000\u0000"+
58743 "\u1c11\u1c18\u0007\u0000\u0000\u0000\u1c12\u1c13\u0005\u015d\u0000\u0000"+
58744 "\u1c13\u1c14\u0005\u0018\u0000\u0000\u1c14\u1c18\u0003*\u0015\u0000\u1c15"+
58745 "\u1c16\u0005\u0100\u0000\u0000\u1c16\u1c18\u0005\u015d\u0000\u0000\u1c17"+
58746 "\u1bf2\u0001\u0000\u0000\u0000\u1c17\u1c03\u0001\u0000\u0000\u0000\u1c17"+
58747 "\u1c06\u0001\u0000\u0000\u0000\u1c17\u1c09\u0001\u0000\u0000\u0000\u1c17"+
58748 "\u1c0c\u0001\u0000\u0000\u0000\u1c17\u1c0f\u0001\u0000\u0000\u0000\u1c17"+
58749 "\u1c12\u0001\u0000\u0000\u0000\u1c17\u1c15\u0001\u0000\u0000\u0000\u1c18"+
58750 "\u03e5\u0001\u0000\u0000\u0000\u1c19\u1c1a\u0007f\u0000\u0000\u1c1a\u03e7"+
58751 "\u0001\u0000\u0000\u0000\u1c1b\u1c1c\u00059\u0000\u0000\u1c1c\u1c1d\u0005"+
58752 "\u015d\u0000\u0000\u1c1d\u1c22\u0003*\u0015\u0000\u1c1e\u1c1f\u00054\u0000"+
58753 "\u0000\u1c1f\u1c20\u0005\u015d\u0000\u0000\u1c20\u1c22\u0003*\u0015\u0000"+
58754 "\u1c21\u1c1b\u0001\u0000\u0000\u0000\u1c21\u1c1e\u0001\u0000\u0000\u0000"+
58755 "\u1c22\u03e9\u0001\u0000\u0000\u0000\u1c23\u1c28\u0005\u02b5\u0000\u0000"+
58756 "\u1c24\u1c25\u0005M\u0000\u0000\u1c25\u1c26\u0005\u02b6\u0000\u0000\u1c26"+
58757 "\u1c27\u0005\u0018\u0000\u0000\u1c27\u1c29\u0003\u00eau\u0000\u1c28\u1c24"+
58758 "\u0001\u0000\u0000\u0000\u1c28\u1c29\u0001\u0000\u0000\u0000\u1c29\u03eb"+
58759 "\u0001\u0000\u0000\u0000\u0344\u0427\u042a\u043a\u0446\u044c\u044e\u0450"+
58760 "\u0457\u045d\u045f\u0467\u046b\u0473\u0477\u047d\u0488\u048d\u0498\u04a4"+
58761 "\u04a8\u04b5\u04bc\u04c1\u04c6\u04cd\u04d4\u04db\u04de\u04e1\u04e8\u04f3"+
58762 "\u04f8\u04fc\u050d\u0518\u051e\u0525\u0529\u0534\u053a\u053c\u0541\u054e"+
58763 "\u055c\u055e\u0567\u0574\u0583\u0585\u058c\u0593\u059c\u05a3\u05ac\u05b2"+
58764 "\u05b5\u05d8\u05da\u05e6\u05ee\u05f4\u05fe\u0605\u060b\u0610\u0617\u061b"+
58765 "\u062a\u0637\u063d\u064d\u0653\u065c\u0660\u0662\u066d\u0671\u067f\u0688"+
58766 "\u068d\u0696\u069a\u06a3\u06ab\u06af\u06bc\u06c1\u06cd\u06d2\u06db\u06df"+
58767 "\u06e6\u06ed\u06f1\u06f6\u06f9\u0709\u0712\u071e\u0720\u0725\u0729\u072c"+
58768 "\u0731\u073a\u073f\u0747\u0753\u075c\u0762\u0769\u0773\u0776\u0779\u0784"+
58769 "\u078c\u0795\u079d\u07a5\u07a9\u07b6\u07b8\u07c1\u07d6\u07db\u07e7\u07f4"+
58770 "\u07fd\u080a\u081f\u0828\u082c\u0845\u084f\u0859\u0862\u0870\u0878\u087e"+
58771 "\u0886\u0891\u0898\u08a2\u08a7\u08c8\u08d1\u08d4\u08db\u08e2\u08e9\u08f2"+
58772 "\u08f9\u08ff\u0906\u090c\u0913\u0919\u0920\u0926\u092d\u0934\u0936\u093b"+
58773 "\u0942\u094c\u0958\u095f\u0963\u0965\u0968\u096c\u096f\u0975\u097a\u0985"+
58774 "\u0989\u098b\u098e\u0993\u09a2\u09a6\u09b2\u09b7\u09c0\u09c7\u09cc\u09db"+
58775 "\u09e5\u09f0\u09f3\u09ff\u0a03\u0a15\u0a1a\u0a1e\u0a23\u0a27\u0a2e\u0a33"+
58776 "\u0a3b\u0a44\u0a48\u0a4c\u0a4f\u0a52\u0a55\u0a63\u0a68\u0a6d\u0a7f\u0a81"+
58777 "\u0a8c\u0a94\u0a99\u0aa2\u0aa9\u0aaf\u0ab8\u0abb\u0abe\u0ac1\u0aca\u0ad2"+
58778 "\u0adb\u0ae2\u0ae5\u0aed\u0aef\u0af2\u0afc\u0b01\u0b06\u0b0a\u0b0d\u0b11"+
58779 "\u0b14\u0b19\u0b21\u0b2a\u0b32\u0b35\u0b38\u0b3b\u0b41\u0b45\u0b4d\u0b63"+
58780 "\u0b65\u0b6a\u0b6c\u0b73\u0b75\u0b79\u0b81\u0b8f\u0b98\u0ba7\u0bad\u0bb1"+
58781 "\u0bb8\u0bcc\u0bd5\u0bd8\u0bee\u0bf0\u0bfb\u0c0b\u0c10\u0c14\u0c19\u0c20"+
58782 "\u0c2a\u0c31\u0c34\u0c3f\u0c43\u0c48\u0c4e\u0c53\u0c56\u0c61\u0c6a\u0c6e"+
58783 "\u0c7d\u0c84\u0c90\u0c93\u0c97\u0c9b\u0ca4\u0ca7\u0caa\u0cb1\u0cb6\u0cbf"+
58784 "\u0cd3\u0cd5\u0cdb\u0ce2\u0ce7\u0cee\u0cf2\u0cf8\u0cfe\u0d03\u0d09\u0d10"+
58785 "\u0d16\u0d1f\u0d26\u0d28\u0d2e\u0d31\u0d34\u0d39\u0d40\u0d49\u0d4e\u0d57"+
58786 "\u0d59\u0d5e\u0d67\u0d69\u0d6c\u0d7e\u0d80\u0d8a\u0d91\u0d94\u0d98\u0da0"+
58787 "\u0da3\u0da7\u0dae\u0db5\u0dc0\u0ddc\u0de4\u0df6\u0df8\u0dff\u0e02\u0e04"+
58788 "\u0e0b\u0e0d\u0e12\u0e19\u0e1e\u0e21\u0e25\u0e2e\u0e31\u0e39\u0e3d\u0e41"+
58789 "\u0e46\u0e4b\u0e4f\u0e5a\u0e61\u0e67\u0e6b\u0e6f\u0e77\u0e79\u0e7c\u0e83"+
58790 "\u0e88\u0e91\u0e96\u0e9e\u0ea5\u0ead\u0eb6\u0ec2\u0ed2\u0ed5\u0ed7\u0eda"+
58791 "\u0edd\u0ee0\u0ee3\u0ef5\u0efa\u0eff\u0f04\u0f07\u0f0b\u0f13\u0f1f\u0f22"+
58792 "\u0f25\u0f34\u0f37\u0f3a\u0f3e\u0f42\u0f4c\u0f4f\u0f52\u0f5d\u0f62\u0f68"+
58793 "\u0f6c\u0f6f\u0f7a\u0f7d\u0f82\u0f84\u0f90\u0f93\u0f9a\u0f9d\u0fa1\u0fa5"+
58794 "\u0fa8\u0fab\u0faf\u0fba\u0fbd\u0fc4\u0fc7\u0fcb\u0fd2\u0fd7\u0fe2\u0fe7"+
58795 "\u0fe9\u0ff6\u1001\u1009\u100c\u1010\u1016\u1020\u102a\u102f\u103b\u1041"+
58796 "\u1044\u1047\u104a\u104d\u1050\u1053\u1057\u105c\u1063\u106a\u1077\u1083"+
58797 "\u1089\u1092\u1095\u1099\u109d\u10a6\u10ab\u10b4\u10b6\u10bb\u10bd\u10c4"+
58798 "\u10cf\u10d8\u10df\u10e1\u10ea\u10ef\u10f6\u10fd\u110f\u1114\u1118\u1133"+
58799 "\u1136\u113f\u1158\u115b\u115d\u1162\u116a\u117f\u1181\u118a\u118d\u119c"+
58800 "\u11a1\u11aa\u11be\u11c1\u11c5\u11d1\u11d3\u11e0\u11e2\u11ec\u1219\u121f"+
58801 "\u1228\u1237\u123b\u1244\u124a\u1254\u125d\u1268\u1274\u1276\u127e\u128c"+
58802 "\u1294\u1299\u129b\u12a4\u12aa\u12bf\u12c6\u12ce\u12d3\u12d5\u12fe\u1303"+
58803 "\u1312\u131a\u1331\u133a\u1342\u134d\u1352\u135a\u1365\u1370\u1379\u1380"+
58804 "\u1384\u138a\u139f\u13ad\u13b0\u13bb\u13c0\u13c3\u13c7\u13ca\u13ce\u13d1"+
58805 "\u13d4\u13da\u13dd\u13e0\u13e6\u13e9\u13f1\u13f5\u13f8\u13fd\u1406\u1411"+
58806 "\u1414\u1417\u141b\u141f\u1423\u1426\u1432\u1436\u143e\u1445\u1449\u144c"+
58807 "\u1450\u1454\u1457\u145a\u145d\u1463\u1466\u146a\u146d\u1470\u147b\u147f"+
58808 "\u1484\u1488\u1490\u1494\u1499\u149d\u14a1\u14a5\u14a8\u14ab\u14ae\u14b1"+
58809 "\u14b4\u14b7\u14be\u14c0\u14c6\u14ce\u14d2\u14d6\u14d9\u14dc\u14de\u14e2"+
58810 "\u14e6\u14e9\u14ed\u14f7\u14fa\u14fc\u1500\u1512\u1519\u151e\u1521\u1525"+
58811 "\u1529\u152d\u1530\u1536\u1539\u153c\u1542\u1545\u1549\u154e\u1554\u1556"+
58812 "\u155c\u1568\u157a\u157f\u1587\u158c\u158e\u1595\u159c\u159f\u15a7\u15d1"+
58813 "\u15d3\u15e9\u15f0\u1628\u162e\u1636\u1639\u1643\u1645\u1647\u164c\u164e"+
58814 "\u1650\u1656\u1658\u165f\u1665\u1667\u1669\u166b\u1670\u1674\u167c\u167e"+
58815 "\u1688\u168a\u168e\u1692\u1694\u1699\u169b\u169e\u16a7\u16b1\u16bd\u16c2"+
58816 "\u16ca\u16d0\u16d4\u16d9\u16e1\u16e7\u16eb\u16f0\u16f4\u16fb\u1704\u170b"+
58817 "\u1712\u171a\u171e\u1723\u172b\u172f\u1733\u1738\u1740\u1744\u1749\u174e"+
58818 "\u1756\u175a\u175e\u1763\u176b\u176f\u1777\u178c\u179e\u17a9\u17be\u17d8"+
58819 "\u17ed\u17f1\u17f6\u17ff\u1801\u1813\u1827\u1832\u1845\u1849\u1851\u1855"+
58820 "\u1860\u187c\u1882\u189f\u18a6\u18aa\u18af\u18b9\u18c4\u18ce\u18d7\u18ed"+
58821 "\u18fa\u1901\u190d\u191a\u1927\u1932\u193e\u1944\u194a\u1950\u195c\u1969"+
58822 "\u1976\u1982\u1988\u198e\u1995\u1999\u19a6\u19b3\u19bc\u19c6\u19f6\u1a00"+
58823 "\u1a02\u1a0e\u1a14\u1a1c\u1a1f\u1a28\u1a2b\u1a38\u1a3b\u1a42\u1a48\u1a4f"+
58824 "\u1a57\u1a5a\u1a65\u1a68\u1a71\u1a7a\u1a82\u1a84\u1a8d\u1a92\u1a94\u1a9a"+
58825 "\u1aa5\u1aa8\u1aaa\u1ab2\u1ab8\u1ac2\u1acd\u1ad2\u1adf\u1ae5\u1aee\u1af9"+
58826 "\u1aff\u1b04\u1b06\u1b0d\u1b12\u1b23\u1b2d\u1b33\u1b3b\u1b3e\u1b46\u1b49"+
58827 "\u1b5d\u1b6a\u1b6d\u1b74\u1b7c\u1b87\u1b8a\u1b93\u1b98\u1ba0\u1baf\u1bbb"+
58828 "\u1bc1\u1bc7\u1bcf\u1bd2\u1bda\u1bea\u1bee\u1bf8\u1bff\u1c01\u1c17\u1c21"+
58829 "\u1c28";
58830 public static final String _serializedATN = Utils.join(
58831 new String[] {
58832 _serializedATNSegment0,
58833 _serializedATNSegment1,
58834 _serializedATNSegment2,
58835 _serializedATNSegment3
58836 },
58837 ""
58838 );
58839 public static final ATN _ATN =
58840 new ATNDeserializer().deserialize(_serializedATN.toCharArray());
58841 static {
58842 _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
58843 for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
58844 _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
58845 }
58846 }
58847 }